我正在尝试在我的iOS应用中获得发布权限。我一直关注Request additional permission Facebook SDK 4 iOS但事情不起作用。
登录时,我只是请求一些读取权限:
// loginButton is a FacebookLoginButton
loginButton.delegate = self
loginButton.loginBehavior = .systemAccount
loginButton.readPermissions = [
"public_profile",
"user_friends",
"email",
]
这为我的代表打了一个工作正常的令牌。然后我想获得发布权限,所以我这样做:
FBSDKLoginManager()
.logIn(
withPublishPermissions: ["publish_actions"],
from: vc,
handler: { result, error in
// here:
// error is nil
// result.token is nil
// result.grantedPermissions is nil
// result.declinedPermissions is nil
// result.isCanceled is true
})
这会显示在Safari中打开的提示“您已经授权MyApp”,当我点击“确定”时,这将执行没有授予权限或令牌的回调。
如果我然后ping
https://graph.facebook.com/me/albums?access_token=<theAccessTokenIGotAtLogin>
我得到了
{ data:
[ { permission: 'user_friends', status: 'granted' },
{ permission: 'email', status: 'granted' },
{ permission: 'public_profile', status: 'granted' } ] }
即我没有获得发布权限,也从未拥有过它们。我尝试了几次,从fb设置中删除应用程序,登录和注销......