我已经做了一些工作来通过Parse SDK注册/登录Facebook帐户(this就是我所做的)。下一步是在我的应用程序中将一些消息发布到Facebook。但我遇到了一个问题。
当应用登录时,仅授予“user_about_me”和“user_location”]权限。因此,当他尝试发布内容时,我需要重新授权用户。这是代码:
// if user is linked to Facebook (login to Facebook), then
if let session = PFFacebookUtils.session() {
let array = session.permissions as NSArray
if array.indexOfObject("publish_actions") == Int(Foundation.NSNotFound) {
let permissionsArray = [ "publish_actions" ]
PFFacebookUtils.reauthorizeUser(PFUser.currentUser(), withPublishPermissions: permissionsArray, audience: FBSessionDefaultAudience.Everyone, block: { (success, error) -> Void in
if error == nil && success {
self.postToFacebook(comment.comment)
}
})
} else {
self.postToFacebook(comment.comment)
}
}
func postToFacebook(message : String) {
var postParams =
["https://developers.facebook.com/ios" : "link",
"https://developers.facebook.com/attachment/iossdk_logo.png":"picture",
"Facebook SDK for iOS":"name",
message: "message",
"Build great social apps and get more installs.":"caption",
"The Facebook SDK for iOS makes it easier and faster to develop Facebook integrated iOS apps." : "description",
];
let req = FBRequest(session: PFFacebookUtils.session(), graphPath: "me/feed", parameters: postParams, HTTPMethod: "POST")
req.startWithCompletionHandler { (connection, result, error) -> Void in
if error != nil {
println("\(error.localizedDescription)")
} else {
println("posted to facebook")
}
}
}
当我尝试发布内容时,该应用确实将我重定向到了Facebook页面:
但最终在错误对象的 userInfo 中出现了一些错误:
[0](null)@“com.facebook.sdk:ErrorInnerErrorKey”:(无摘要)
1(null)@“com.facebook.sdk:ErrorSessionKey”:(无摘要)
2(null)@“com.facebook.sdk:HTTPStatusCode”:( long)200
我认为错误仍然与权限有关,因为每当我试图发布某些内容时,应用都会重定向到Facebook进行授权。但我不太确定。可能是什么问题?感谢