所以我完全不知道如何使用 fbsdkcorekit 将图像发布到用户时间线。我希望它与我编码的 Twitter 类似:
如何像在 Twitter 上一样分享图像状态?我不想让用户拥有像 slcomposeviewcontroller 那样的对话框。我只是希望它在后台使用我提供的 uiimage 以及我提供的状态文本进行。
Twitter.sharedInstance().logInWithCompletion {
let strUploadUrl = "https://upload.twitter.com/1.1/media/upload.json"
let strStatusUrl = "https://api.twitter.com/1.1/statuses/update.json"
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
var twAPIClient = Twitter.sharedInstance().APIClient
var error: NSError?
var parameters:Dictionary = Dictionary<String, String>()
var imageData : NSData = UIImageJPEGRepresentation(self.image!, 0.5)
parameters["media"] = imageData.base64EncodedStringWithOptions(nil)
var twUploadRequest = twAPIClient.URLRequestWithMethod("POST", URL: strUploadUrl, parameters: parameters, error: &error)
if true {
println("before sendTwitterRequest")
twAPIClient.sendTwitterRequest(twUploadRequest) {
(uploadResponse, uploadResultData, uploadConnectionError) -> Void in
println("inside sendTwitterRequest")
if (uploadConnectionError == nil) {
// using SwiftyJSON to parse result
let json = JSON(data: uploadResultData!)
// check for media id in result
if (json["media_id_string"].string != nil) {
println("result = \(json)")
// post a status with link to media
parameters = Dictionary<String, String>()
parameters["status"] = ""
parameters["media_ids"] = json["media_id_string"].string!
var twStatusRequest = twAPIClient.URLRequestWithMethod("POST", URL: strStatusUrl, parameters: parameters, error: &error)
if true //(twStatusRequest != nil)
{
twAPIClient.sendTwitterRequest(twStatusRequest) { (statusResponse, statusData, statusConnectionError) -> Void in
if (statusConnectionError != nil) {
println("Error posting status \(statusConnectionError)")
}
} // completion
} else {
println("Error creating status request \(error)")
}
} else {
println("Media_id not found in result = \(json)")
}
} else {
println("Error uploading image \(uploadConnectionError)")
}
} // completion
} else {
println("Error creating upload request \(error)")
}
}
最佳答案
这在文档的“Sharing on iOS ”部分中有详细记录。
假设您已经完成 the basic setup安装 SDK 和配置 Xcode 项目时,您应该实现 Facebook Login首先并请求 publish_actions
权限(注意:此权限需要 Facebook 事先审核,然后才能供非应用管理员/开发人员/测试人员使用)。
实现后,您可以引用前面提到的“Sharing on iOS ”指南,并使用 [FBSDKShareAPI shareWithContent:content delegate:nil];
直接使用 API 发布内容而不是对话框。
关于ios - 如何使用 FBSDKCoreKit 向 Facebook 用户发布图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30927383/