JRo*_*wan 9 html javascript image google-signin
大家好我想在我的网站和其他网站上加载谷歌个人资料图片
我已经做好了
var profile = googleUser.getBasicProfile();
profile.getImageUrl()
Run Code Online (Sandbox Code Playgroud)
当我使用谷歌登录并将图像网址保存到数据库但是当我尝试将其放入img标记的scr时就像这样
var img = document.createElement("img");
img.src = image;
img.alt = "image";
img.style.float = "left";
divn.appendChild(img);
Run Code Online (Sandbox Code Playgroud)
我有时会得到403禁止错误,但有时它在这里工作的是一个示例链接,我正在使用存储在数据库中的一个只是改变了一点
https://lh4.googleusercontent.com/-OmV9386WzGk/AAAAFFFFAAI/AAAAAAAACpc/BEtVNh85tnk/s96-c/photo.jpg
Run Code Online (Sandbox Code Playgroud)
所以我只是想知道我是否正确地获取了个人资料图片,而且其他用户也在同一页面上
小智 102
添加referrerpolicy="no-referrer"属性
<img src="your-google-link-here" referrerpolicy="no-referrer"/>
Run Code Online (Sandbox Code Playgroud)
小智 46
使用referrerpolicy="no-referrer"似乎有帮助。虽然它在 localhost 应用程序中不起作用(在我添加此属性之前),但在其自己的选项卡中加载图像时,它始终如一地工作。请求标头的区别之一是没有referer.
Phi*_*her 14
唯一对我有用的是添加
<meta name="referrer" content="no-referrer" />
到head我的html,如下所述:https://github.com/chakra-ui/chakra-ui/issues/5909
当 Referer 标头设置为 localhost 时,Google 似乎不会处理请求。我在检查中将其更改为其他域,重新发送它并且它起作用了。我什至可以获得带有卷曲和零标题的个人资料图片。
我可以想象,每次请求时都会动态创建 URL。用户需要经过身份验证才能检索该 URL ,这一事实支持了这一点。(例如,如果用户退出先前授权的服务/撤销身份验证,则服务应该不再能够检索个人资料图片)
因此,要么将整个图像作为 blob 存储在数据库中,要么每次请求 URL 时进行身份验证并使用用户对象。
另外,请考虑使用此处引用的 API 。