ios - 如果不先点击 Open Graph Debugger,iOS 中的 Facebook Open Graph Share 将无法正常工作

标签 ios facebook facebook-graph-api

我正在尝试让 Open Graph 共享操作在 iOS 上运行。如果我使用 Open Graph Debugger 请求开放图 url,它会起作用首先一切都按预期工作。但是,如果我不这样做,共享对话框中的预览会显示几秒钟左右,然后淡出。发布按钮也被禁用。

我在后端看到的是,如果我使用 Open Graph Debugger 或将对象 url 粘贴到我自己的状态中,我将收到来自 Facebook 服务器 (69.171.234.117) 的请求。但是,当我直接从应用程序共享时,我看到来自另一台 Facebook 服务器 (173.252.74.115) 的请求,该服务器似乎无法正确读取 Open Graph 数据。

有没有人以前见过这样的事情或者知道是什么原因造成的?

编辑:我已就此问题向 Facebook 提交了错误。如果有变化,会在这里更新。

EDIT2:Facebook 已确认此错误并正在处理中。目前建议的解决方法是使用 https://graph.facebook.com/?id= 触发初始抓取。 {url}&scrape=true 当对象被创建时。

EDIT3:Facebook 关闭了错误报告并声称该问题已在最新的 SDK 中得到解决。我会验证这一点并报告。

EDIT4:从我的测试来看,这似乎已经解决了。

最佳答案

我之前遇到过这个问题,事实证明托管在您服务器上的自定义开放图对象的实例只有在它们第一次相关时才会被实例化。

只有当FB图中的第一条边被分配给你的对象时,它才会获得一个标识符,并且它存在于FB的记录中。

只能使用 FB 应用程序或开放图形应用程序创建第一条边。 完成之后,您将能够为您的对象获得一个唯一标识符

GET https://graph.facebook.com/?ids=YOUR_OBJECT_URL

然后您可以使用返回的 ID 执行共享

另见 this SO post这支持了我的主张。

关于ios - 如果不先点击 Open Graph Debugger,iOS 中的 Facebook Open Graph Share 将无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22329683/

相关文章:

facebook - publish_stream 消息对所有人可见

ios - 在 Facebook 应用程序中打开帖子的 URL Scheme

c# - 为什么新的 fb api 2.4 在具有身份和 oauth 2 的 MVC 5 上返回空电子邮件?

ios - 更改相机和设备方向

ios - 如何优雅地将回调消息从嵌套的自定义 View 发送到 Controller ?

c# - 创建 UIButton 时不显示标题文本

javascript - Facebook API Javascript 客户端(无服务器端)

android - facebook sdk android,如何获取用户电话号码?

php - Facebook 登录 api 返回用户电子邮件地址

ios - 使用PaypalSDK iOS iOS导航颜色在iOS中未更改