我在我的 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/