如何从我的 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 请求?