ios - 如何从我的 Swift 应用程序请求 Facebook publish_actions 权限?

标签 ios swift facebook facebook-graph-api

在我的应用程序中,我将照片发送到我的后端代码。我还想将这张照片发布到用户的 facebook 墙上。用户已经使用 FB 帐户登录到我的应用程序,但我尚未请求他的 publish_actions 权限。

在我的应用程序中,用户有一个 UISwitch,当它打开时,应该检查用户是否授予了 publish_actions 权限,如果还没有,则从用户。

到目前为止,这是我的代码:

if !(FBSDKAccessToken.current().hasGranted("publish_actions")) {

    print("Request publish_actions permissions")
    let login: FBSDKLoginManager = FBSDKLoginManager()

    login.logIn(withPublishPermissions: ["publish_actions"], from: self) { (result, error) in
        if (error != nil) {
            print(error!)
        } else if (result?.isCancelled)! {
            print("Canceled")
        } else if (result?.grantedPermissions.contains("publish_actions"))! {
            print("permissions granted")

        }
    }
}else {

}

问题是当用户点击 UISwitch 时,它会立即打开 Safari 询问他是否登录 Facebook。当他再次登录时,会出现一条消息“您已经授权<>”。当用户单击 OK 时,他返回到应用程序,我在控制台中看到 Canceled

这对我来说似乎不对,所以我的问题是 - 要求用户允许此权限的最佳方式是什么?

最佳答案

某些 Facebook 功能需要您将您的应用程序发送给 Facebook 审核,然后才能使用。在将您的 Facebook 应用程序发送给审核之前,您正在尝试使用您自己的 Facebook 帐户获得“publish_actions”权限。在开发模式下,从 developers.facebook.com 创建一个测试帐户来测试这些功能。

关于ios - 如何从我的 Swift 应用程序请求 Facebook publish_actions 权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43167275/

相关文章:

ios - 更改场景时是否必须删除场景?

facebook - 图形 API - 获取最新的新闻提要条目而不是 "top news"

Facebook Messenger Chatbot 如何收集用户发送的地理位置信息?

ios - Swift UILocalNotification 在屏幕上显示

arrays - Swift:CoreData 和一个带有数组的对象

ios - objective-c - 如果 ios 的电子邮件 ID 为空,则登录后的 UIAlertView 输入电子邮件 ID

ios - 使用 UIScrollView 自动布局

ios - 仅当捏住单元格的 imageView 时,才可以在 UICollectionView 的自定义单元格中放大/缩小 UIImageView?

iphone - 检查单词在数组中是否有效

iOS:删除 NSDecimalNumber 中的千位分隔符进行编辑