Instagram 的帖子未显示在 Facebook Open Graph API 上
Posted
技术标签:
【中文标题】Instagram 的帖子未显示在 Facebook Open Graph API 上【英文标题】:Posts from Instagram not showing up on Facebook Open Graph API 【发布时间】:2012-07-26 20:54:53 【问题描述】:我对 Facebook OpenGraph API 有疑问。每当我使用“/home”或“/feed”请求数据时,都没有显示来自 Instagram 的帖子。
我一直在谷歌搜索,显然有些人提出了同样的问题,但还没有解决方案。我读到一些消息,这个问题不仅影响来自 Instagram 的帖子,还影响其他第三方应用/设备/平台。
即使张贴在 Facebook 开发页面上的票似乎也有些死(没有继续)。链接:https://developers.facebook.com/bugs/110563582419837/
如果你们中的任何人也偶然发现了这个问题并且有一些想法/指针/链接,请分享并讨论它。
非常感谢。干杯!
【问题讨论】:
也许另一个线程中的解决方案会有所帮助?看这里:***.com/questions/13950575/… 【参考方案1】:Facebook 的错误跟踪器中有两个关于此的错误报告: https://developers.facebook.com/bugs/110563582419837 和 https://developers.facebook.com/bugs/202119973248747
核心原因是照片以User Generated Photos 的形式附加到Open Graph 操作,而不是通过常规的照片上传API。
因此,常规照片权限不会授予他们访问权限,您需要用户专门允许您访问他们发布操作的应用的 Open Graph 活动。接受上面的错误报告是因为这似乎是对用户生成的照片的操作的疏忽,但也可能是设计使然,在这种情况下,我在下面概述的解决方法将是唯一支持的方法:
如果您特别需要为用户请求 Instagram(或其他 Open Graph 照片应用)照片,您可以请求 Permission 访问该应用发布的操作。
对于 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_stream
、user_photos
、user_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
,
我还可以使用相同的权限访问我的“Instagram 照片”相册的 /photos
连接,并且可以通过 /me/instapp:take
访问所有 Instagram 的“执行”操作(即照片)
【讨论】:
我尝试在 FB.login 中将 user_actions:instapp 添加到我的范围参数中,但它似乎不起作用: FB.login(function(response) , scope: 'user_photos,朋友照片,发布流,阅读流,用户操作:instapp');我是不是错过了什么?【参考方案2】:Facebook 员工在这里。查看正在跟踪此问题的内部任务,我现在只能说这是我们目前意识到并正在调查的问题。如果您想收到任何更新的通知,请务必单击错误报告上的“订阅”。
目前,我建议找到名为“Instagram Photos”的用户的相册 ID,然后调用 GET
请求到 /INSTAGRAM_ALBUM_ID/photos
以获取他们的 Instagram 照片。在 Graph API Explorer 工具上,我确认我能够获取我所有的 instagram 图片。由于我的相册是公开的,你应该可以view them as well。
【讨论】:
Jesse,该链接返回一个空数据数组,这是developers.facebook.com/bugs/202119973248747 中提到的问题的一部分。正如 Igy 所指出的,添加 user_actions:instapp 权限允许您查看照片。否则,响应总是空的。以上是关于Instagram 的帖子未显示在 Facebook Open Graph API 上的主要内容,如果未能解决你的问题,请参考以下文章
如何使用单个 UITableView 设计像 instagram 一样的时间线?