c++ - 试图获取我朋友的 Facebook 照片
问题描述
几个星期以来,我在获取“我的朋友”的 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”内的“短”时间内请求五六张照片。但它之前工作...
解决方案
您无法获取朋友的照片,您只能获取当前授权用户的照片。它可能在几年前就奏效了,但出于隐私原因,Facebook 使用 v2.0 的 Graph API 删除了对朋友数据的访问。
不允许抓取,所以如果 Graph API 没有办法,请不要这样做。其他用户(无论是否为朋友)的照片/数据与您无关,如果他们没有特别授权您的应用访问它们。
对于授权用户,只需将 /user-id/photos 与用户令牌一起使用。如果这不适用于您的用户令牌,您可能必须在朋友进入应用程序时使用他自己的令牌存储/缓存照片。
推荐阅读
- javascript - Session中的PHP/JS信用卡品牌呼应
- c# - 使用单个 Entity Framework Core DbContext 来管理具有同名表的多个数据库模式
- hyperledger-fabric - 超级账本作曲家在交易过程中将参与者添加到参与者数组中
- xcode - Xcodebuild 没有这样的模块
- java - Spring Boot 不为来宾用户调用控制器
- ruby-on-rails - RoR MongoID 查找不起作用?
- node.js - 从 API 创建 Ec2 时扩展根卷
- python - 从 parseAction 返回未更改的标记会生成双重嵌套字典
- python - Numpy ndarray:理解切片对象和“:”
- r - 闪亮的仪表板自动触发