如何通过Parse SDK将消息发布到Facebook

时间:2014-11-25 02:59:56

标签: ios facebook swift parse-platform

我已经做了一些工作来通过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页面:

enter image description here

但最终在错误对象的 userInfo 中出现了一些错误:

  

[0](null)@“com.facebook.sdk:ErrorInnerErrorKey”:(无摘要)
  1(null)@“com.facebook.sdk:ErrorSessionKey”:(无摘要)
  2(null)@“com.facebook.sdk:HTTPStatusCode”:( long)200

我认为错误仍然与权限有关,因为每当我试图发布某些内容时,应用都会重定向到Facebook进行授权。但我不太确定。可能是什么问题?感谢

0 个答案:

没有答案