iOS 中的 Facebook Open Graph Stories 成功创建对象但无法 post 到 fb 时间线

Facebook Open Graph Stories in iOS successfully creates an object but cannot post to fb timeline

我正在尝试在 facebook 的 iOS 中实现 Open Graph Stories,如下所示:https://developers.facebook.com/docs/sharing/opengraph/ios#custom

我需要 post 通过自定义界面将其上传到 facebook,而不是通过 facebook 共享对话框。

到目前为止,我可以为每个请求成功创建一个开放图对象,它不会 return 任何错误,但也不会 post 它到 Facebook 时间线。我在 xcode 中看到的是:postId: 113077439054125, completionGesture: post

我不确定哪里出了问题。 这是我的代码片段:

            var photo = FBSDKSharePhoto(imageURL: imgUrl, userGenerated: false)
            var properties : [NSObject : AnyObject] = [
                "og:type"  : "video.movie",
                "og:title" : "TEST TITLE",
                "og:image" : "https://www.facebook.com/images/fb_icon_325x325.png",
                "fb:explicitly_shared" : true]

            var object = FBSDKShareOpenGraphObject(properties: properties)
            var shareApi = FBSDKShareAPI()

            var action = FBSDKShareOpenGraphAction(type: "MYNAMESPACE:myAction", object: object, key: "movie")

            var content = FBSDKShareOpenGraphContent()
            content.action = action
            content.previewPropertyName = "movie"
            shareApi.delegate = self
            shareApi.shareContent = content
            shareApi.share()

到目前为止,我已经为此苦苦挣扎了一段时间。任何帮助将不胜感激。

谢谢。

你应该已经解决了。如果没有,您是否获得了 publish_actions 权限的令牌? 您可以通过以下方式获得它:

  1. 转到图形 API 资源管理器。
  2. Select 你的申请。
  3. 点击"Get User Access Token"。
  4. Select "Extended Permissions" 然后 "publish_actions".
  5. 单击"Get Access Token"。

就是这样。

您必须让 Facebook 批准您的应用才能获得 publish_actions 对吗?当您登录 Facebook 时,它显示的不同访问权限是什么。通常,您会在 Facebook 许可页面中看到一行内容,表示此应用不允许您 post 时间线或类似内容。

您可以尝试创建测试用户并使用它登录。测试用户获得您要求的所有权限,因为他们与普通用户是分开的。请注意,这些与仍然是普通 FB 帐户的测试人员不同。

尝试使用测试用户,在您的应用准备好上线后,从应用仪表板将其发送到 Facebook,一旦获得他们的批准,您就可以上线了。