Ste*_*ips 1 facebook facebook-graph-api facebook-javascript-sdk firebase react-native
Facebook 个人资料图片的链接是否保持最新,或者我应该将图像存储在存储中吗?
我正在使用 firebase 和 facebook 身份验证,并在用户首次创建帐户时获取这样的用户个人资料图片链接:
const photoLarge = await getFacebookUserInfo().then((userResponse) => {
return userResponse.picture.data.url.toString()
}).catch((error) => {
return error
});
const userId = await firebaseService.auth().currentUser.uid;
writeUserData(
userId,
photoLarge,
);
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我注意到在开发与生产中我有两个不同的链接,开发人员无法正常工作。
开发不起作用:
https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=10161383578450224&height=200&width=200&ext=1558132998&hash=AeTUIkafEn5zw5PF
产品的作用:
https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=10161383578450224&height=200&width=200&ext=1558673410&hash=AeQGA8guHyxIK9du
我想弄清楚是否应该下载 Facebook 图片并将其存储在存储中,然后进行引用,如果是,该怎么做?(/链接是否有过期日期)
我还没有看到 Google 登录是否会发生这种情况。
这是我的图表请求:
//graph QL request to get larger facebook profile
export const getFacebookUserInfo = () => {
return new Promise((resolve, reject) => {
const infoRequest = new GraphRequest(
'/me',
{
parameters: {
fields: {
string: 'email,about,name,picture.type(large)'
}
}
},
(error, data) => {
if (error) {
reject(error);
} else {
resolve(data);
}
}
);
new GraphRequestManager().addRequest(infoRequest).start();
})
}
Run Code Online (Sandbox Code Playgroud)
所以今天我终于明白了这一点。本质上,graphAPI 会返回几个片段,其中一个是图片片段。这看起来像我上面发布的链接https://platform-lookaside.fbsbx.com/platform/profilepic
这改变了!!!不确定多久一次,但不要使用它,因为最终它将成为一个死链接。
但是,我错过的是您可以使用 graphAPI 吐回的 ID 并使用以下链接:
http://graph.facebook.com/{your_id_goes_here}/picture?type=large&redirect=true&width=500&height=500
更多信息可以在另一篇文章中找到:
归档时间: |
|
查看次数: |
7029 次 |
最近记录: |