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

Posted

技术标签:

【中文标题】如何从我的 Swift 应用程序请求 Facebook publish_actions 权限?【英文标题】:How can I request Facebook publish_actions permission wfrom my Swift app? 【发布时间】:2017-04-02 10:28:42 【问题描述】:

在我的应用程序中,我将照片发送到我的后端代码。我还想将这张照片发布到用户的 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

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

【问题讨论】:

我也遇到了同样的问题,你找到解决办法了吗? 有什么解决办法吗?为他人分享 【参考方案1】:

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

【讨论】:

以上是关于如何从我的 Swift 应用程序请求 Facebook publish_actions 权限?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 HTTP 请求将图像加载到 UIButton Swift

如何从HTTP请求将图像加载到UIButton Swift中

如何从我的 FastAPI 应用程序向另一个站点 (API) 发送 HTTP 请求?

如何将 GET 请求从我的烧瓶应用程序发送到另一个站点?

如何从我的 redux 操作向 GraphQL-server 发出请求?

来自swift的JSON请求在php中显示空数组