在 Swift 中使用 OpenGraph FacebookSDK 4.4 发送图像和文本
Send image and text with OpenGraph FacebookSDK 4.4 in Swift
我在 Swift 应用程序中使用 Facebook SDK 4.4.0。
因为 Facebook 强制删除了预填文本,我正在尝试使用 Open Graph post 在我的应用程序中的 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 操作需要获得额外功能的批准:User Messages
。您可以在 Open Graph Docs.
中阅读更多相关信息
此功能需要审核。批准后,您可以在 FBSDKShareOpenGraphContent
对象上使用 message
参数。
注意:只有当消息直接来自用户时才允许这样做。如果您的应用程序预填充此值,它将被阻止,您将无法使用它。
我在 Swift 应用程序中使用 Facebook SDK 4.4.0。 因为 Facebook 强制删除了预填文本,我正在尝试使用 Open Graph post 在我的应用程序中的 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 操作需要获得额外功能的批准:User Messages
。您可以在 Open Graph Docs.
此功能需要审核。批准后,您可以在 FBSDKShareOpenGraphContent
对象上使用 message
参数。
注意:只有当消息直接来自用户时才允许这样做。如果您的应用程序预填充此值,它将被阻止,您将无法使用它。