【问题标题】:Facebook Profile Picture Link Changes?Facebook 个人资料图片链接更改?
【发布时间】:2019-05-24 03:53:27
【问题描述】:

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,
            );
          }

由于某种原因,我注意到在 dev 与 prod 中我有 2 个不同的链接与 dev 不工作。

开发不工作:

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();
  })
}

【问题讨论】:

  • 用户可以从个人资料中删除或更改他们的个人资料图片。当这种情况发生时,他们的个人资料图片链接可能会被破坏。如果您的存储空间有限,您可以搜索是否有任何方法可以通过用户名获取他们的个人资料图片(它包含在用户个人资料链接中)
  • 您始终可以使用仅重定向到真实图片位置的 API 端点 - 即使 CDN URL 更改,它也会自动保持最新。 developers.facebook.com/docs/graph-api/reference/user/picture
  • 我写的graphQL请求忘记添加了,但是在上面的代码中添加了。上面添加的代码是否与您提到的相同?

标签: facebook firebase react-native facebook-graph-api facebook-javascript-sdk


【解决方案1】:

不知何故,我今天终于想通了。本质上,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

更多信息可以在其他帖子中找到:

Get user profile picture by Id

【讨论】:

    猜你喜欢
    • 2012-01-16
    • 2011-03-03
    • 1970-01-01
    • 2018-01-16
    • 2012-06-08
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多