facebook - 在 Swift 中使用 Open Graph Facebook SDK 4.4 发送图像和文本

标签 facebook swift facebook-graph-api xcode6 facebook-sdk-4.0

我在我的 Swift 应用程序中使用 Facebook SDK 4.4.0。 因为 Facebook 强制删除了预填文本,所以我尝试使用 Open Graph 在 Facebook 上发布我的应用程序中的内容和图像。

我需要做的是向 Facebook Timeline 发送一些文本内容和本地镜像(不是在网络上)。该图像是本地镜像,因此它在应用程序中。

到目前为止,我实现的是发送本地镜像或内容,但我想将两者一起发送。

这是发送有效图像的 Swift 代码:

    @IBAction func facebookButton(sender: UIButton) {
        let photo : FBSDKSharePhoto = FBSDKSharePhoto()
        photo.image = UIImage(named: oldImageSaved! as String)
        photo.userGenerated = false

        var content : FBSDKSharePhotoContent = FBSDKSharePhotoContent()
        content.photos = [photo]

        let button:FBSDKShareButton = FBSDKShareButton()
        button.frame = CGRectMake(0, 0, 0, 0)
        button.shareContent = content
        button.sendActionsForControlEvents(UIControlEvents.TouchUpInside)
    }

这是用于发送内容的 OpenGraph 代码:

    @IBAction func facebookButton(sender: UIButton) {

            var current = NSUserDefaults.standardUserDefaults().objectForKey("currentPhrase") as? String
            var currentDescription = current!
            let ImageSaved = NSUserDefaults.standardUserDefaults().objectForKey("currentImageSaved") as? NSString

            // Create a FBSDKSharePhoto
            var photo : FBSDKSharePhoto = FBSDKSharePhoto()
            photo.image = UIImage(named: ImageSaved! as String)
            photo.userGenerated = false;

            let graphProperties : [NSObject : AnyObject]! = ["og:type": "fbtestapp:testing_test_app", "og:title":"Test App", "og:description": currentDescription]
            var graphObject : FBSDKShareOpenGraphObject = FBSDKShareOpenGraphObject(properties: graphProperties)

            // Create an action
            var action : FBSDKShareOpenGraphAction = FBSDKShareOpenGraphAction()

            action.actionType = "fbtestapp:merging"
            action.setObject(graphObject, forKey: "testing_test_app")

            // Create the content
            var content : FBSDKShareOpenGraphContent = FBSDKShareOpenGraphContent()
            content.action = action;
            content.previewPropertyName = "testing_test_app";

            FBSDKShareDialog.showFromViewController(self, withContent: content, delegate: nil)
    }

对于如何使用 Swift 中的 OpenGraph 发送带有一些文本内容的本地镜像的任何帮助,我们将不胜感激!

最佳答案

您的 Open Graph 操作需要获得额外功能的批准:用户消息。您可以在 Open Graph Docs 中阅读更多相关信息.

此功能需要审查。批准后,您可以在 FBSDKShareOpenGraphContent 对象上使用 message 参数。

请注意:只有当消息直接来自用户时才允许这样做。如果您的应用程序预填充此值,它将被阻止,您将无法使用它。

关于facebook - 在 Swift 中使用 Open Graph Facebook SDK 4.4 发送图像和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31812809/

相关文章:

javascript - 社交媒体网站阻止其他网站在 iFrame 中显示其页面

ios - 如何将 addTarget 方法更新为 swift 4

ios - 如何使用swift在IOS中实现跑马灯标签

php - 用户未授权应用程序执行此操作(#200)

javascript - 如何在没有 FQL 的情况下检查 Facebook 相册是否已存在

iphone - 如何通过 facebook API 在 friend 的墙上同时发布文本、图像和链接

ruby-on-rails - 在 rails 中单击带有 cucumber 的 facebook 连接按钮

jquery - 在 CSS 或 jQuery 中为动态类设置值

ios - 如何从 UIImagePicker 推送到 UIViewController

ios - Azure 移动应用 Facebook 身份验证停止工作