my angular 2 app使用facebook登录获取用户名,电子邮件和个人资料图片。我能够获得用户名和电子邮件但是facebook api提供的个人资料图片的网址不起作用。
这是应用程序的流程
response : {
email:"user@mail.com"
id:"992219737612453"
name:"user name"
picture: {
data:height:50
is_silhouette:false
url:"https://lookaside.facebook.com/platform/profilepic/?
asid=992219737612453&height=50&width=50&ext=1527274398
&hash=AeQwwpehQqNhgVxr"
width:50
}
}
但问题是在上面的图片响应中给出的url不起作用并且给出错误429.但是当使用vpn访问它时,相同的url开始工作。任何人请弄清楚问题是什么以及如何解决它。 注意:429错误代表太多请求,但在此应用程序的facebook开发人员仪表板页面上,它表示您的应用尚未达到限速级别。
更新:使用属于CHINA的特定ISP访问URL时,将阻止URL。但问题是我的大多数用户使用该互联网服务提供商。
答案 0 :(得分:1)
如上所述,其工作/来源的互联网服务提供商的问题来自中国。因此,您需要来自任何地区或网址所在区域的中立ISP。
此问题的唯一解决方案是您应该在不同的ISP上设置服务器(表示角度2/4的最佳选项)。服务器从该URL获取图像并将其返回给客户端。
错误的架构:
客户============================================== ====>包含图像的服务器
客户< =============== 429错误(由于不同的ISP)< ===========包含图像的服务器
正确的架构:
Angular ===================> 快递 ==========> 包含图像的服务器
Angular < =================== 快递< ========== 包含图像的服务器
答案 1 :(得分:0)
如果这是通过VPN工作,它听起来像一个权限问题。 VPN允许您运行的本地计算机或服务器没有哪些权限?