12

我对 Facebook OpenGraph API 有疑问。每当我使用“/home”或“/feed”请求数据时,Instagram 上的帖子都没有出现。

我一直在谷歌搜索,显然有些人提出了同样的问题,但还没有解决方案。我读到了一些问题,不仅影响来自 Instagram 的帖子,还影响其他第三方应用程序/设备/平台。

甚至在 Facebook 的开发页面上发布的票似乎也有些死了(没有继续)。链接:https ://developers.facebook.com/bugs/110563582419837/

如果你们中的任何人也偶然发现了这个问题并且有一些想法/指针/链接,请分享并讨论它。

非常感激。干杯!

4

2 回答 2

8

Facebook 的错误跟踪器中有两个关于此的错误报告: https ://developers.facebook.com/bugs/110563582419837和https://developers.facebook.com/bugs/202119973248747

核心原因是照片作为用户生成的照片附加到Open Graph操作,而不是通过常规的照片上传 API。

因此,常规照片权限不会授予对它们的访问权限,并且您需要用户专门允许您访问发布操作的应用程序的 Open Graph 活动。接受上面的错误报告是因为这似乎是对用户生成的照片的操作的疏忽,但也可能是设计使然,在这种情况下,我在下面概述的解决方法将是唯一支持的这样做的方法:

如果您特别需要为用户请求 Instagram(或其他 Open Graph 照片应用)照片,您可以请求访问该应用发布的操作的权限。

对于 Instagram 照片,您可以通过请求user_actions:instapp权限来执行此操作,一旦完成,Instagram 照片相册将不再显示为空,并且 Instagram 活动将出现在feed连接中。

要找出任意应用程序的命名空间,请访问https://graph.facebook.com/<APP ID>并查找该namespace字段,

例如对于 instagram,调用https://graph.facebook.com/124024574287414/?fields=id,namespace返回:

{
  "id": "124024574287414", 
  "namespace": "instapp"
}

使用, ,权限/feed检索到的来自我自己的连接的示例照片是:read_streamuser_photosuser_actions:instapp

{
  "data": [
    {
      "id": "[SNIPPED]", 
      "from": {
        "name": "[SNIPPED]", 
        "id": "[SNIPPED]"
      }, 
      "picture": "[SNIPPED]", 
      "link": "https://www.facebook.com/photo.php?fbid=[SNIPPED]", 
      "icon": "https://fbstatic-a.akamaihd.net/rsrc.php/v2/yb/x/StEh3RhPvjk.gif", 
      "privacy": {
        "value": ""
      }, 
      "type": "photo", 
      "object_id": "[SNIPPED]", 
      "application": {
        "name": "Instagram", 
        "namespace": "instapp", 
        "id": "124024574287414"
      }, 
      "created_time": "2013-01-07T17:33:04+0000", 
      "updated_time": "2013-01-07T17:33:04+0000", 
      "comments": {
        "count": 0
      }
    }, 

我还可以使用/photos相同的权限访问我的“Instagram 照片”相册的连接,并且可以访问所有 Instagram 的“执行”操作(即照片)/me/instapp:take

于 2013-01-07T17:33:41.390 回答
0

Facebook员工在这里。查看正在跟踪此问题的内部任务,我现在只能说这是我们目前意识到并正在调查的问题。如果您想收到任何更新的通知,请务必单击错误报告上的“订阅”。

目前,我建议找到名为“Instagram Photos”的用户的相册 ID,然后调用GET请求/INSTAGRAM_ALBUM_ID/photos以获取他们的 Instagram 照片。在 Graph API Explorer 工具上,我确认我能够获取我所有的 instagram 图片。由于我的相册是公开的,您应该也可以查看它们

于 2013-01-07T00:05:51.580 回答