【问题标题】:Trying to get Facebook Photos of my friends试图获取我朋友的 Facebook 照片
【发布时间】:2019-05-12 15:55:02
【问题描述】:

几周以来,我在获取“我的朋友”的 Facebook 照片时遇到了问题。我有不止一个朋友,当我尝试获取所有照片时,我只能得到一个。当我请求我的第二个朋友的第二张照片时,我收到此响应“请求超时。”。它一直工作到几个月前。几周以来,它不再起作用了。

我确定问题不在我的代码中,因为我用于请求的 URL 可以正常工作。事实上,正如我之前所说,我并没有更改我的代码中的任何内容,并且直到几个月前它才起作用......

这听起来像是 API 的限制。谁能帮帮我?

for(....) //my friend list
{
  HttpRequest* requestFacebookPhoto = new HttpRequest();
  requestFacebookPhoto->setUrl(friendPhotoUrl); //I tested all URLs in Chrome and it works. The url is ok.
  requestFacebookPhoto->setRequestType(HttpRequest::Type::GET);
  requestFacebookPhoto->setResponseCallback([](HttpClient* client, HttpResponse* response) {

    if (!response or response->getResponseCode() != 200) {

        //response code is -1, so, when i debug it, it enters to this if

        return;
    }

    //more code below..

  }); 

  HttpClient::getInstance()->send(requestFacebookPhoto);
  requestFacebookPhoto->release();
}

我希望得到我朋友的所有照片,就像以前一样,过去。我再说一遍,我没有改变任何东西。它在生产中工作正常,使用相同的代码。我正在使用 cocos2d http 库在 C++ 中进行开发。

也许“超时”是因为我在短时间内请求了很多照片?我只有五六个朋友.. 所以我在“短”时间内请求五六张照片,在“for”内。但它之前工作过......

【问题讨论】:

    标签: c++ facebook sdk cocos2d-iphone photo


    【解决方案1】:

    无法获取好友的照片,只能获取当前授权用户的照片。它可能在几年前就奏效了,但出于隐私原因,Facebook 使用 v2.0 的 Graph API 删除了对朋友数据的访问。

    不允许抓取,所以如果 Graph API 没有办法,请不要这样做。其他用户(无论是否为朋友)的照片/数据与您无关,如果他们没有特别授权您的应用访问它们。

    对于授权用户,只需将 /user-id/photos 与用户令牌一起使用。如果这不适用于您的用户令牌,您可能必须在朋友进入应用程序时使用他自己的令牌存储/缓存照片。

    【讨论】:

    • 我正在尝试获取我的朋友也在玩这款游戏的照片。换句话说,正如您所说,当前授权用户的照片。所以,这不是问题。我应该得到我要求的照片。请帮帮我....
    • 感谢您的回答,但我请求获取朋友照片的 URL 可以正常工作!如果我在 Chrome 或 IE 或 Firefox 中输入该 URL,我可以下载他们的照片。但是,当我尝试通过代码获取它时,我收到响应“请求超时。”。为什么? Facebook 团队最近发生了哪些变化?因为这在过去对我有用,使用相同的代码!
    • 谁能帮帮我?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多