我创建ACAccountStore
,访问用户的Facebook帐户,将帐户存储在ACAccount
对象中,并且能够从凭据中检索令牌。但是,当我尝试使用此令牌从Facebook检索信息时,它将不会进行身份验证,并且尝试使用renewCredentialsForAccount
续订凭据只会产生ACAccountCredentialRenewResultRejected
的响应。
我无法通过任何简单的方式再次显示权限弹出窗口来请求权限。我可以再次请求权限的唯一方法是更改我在应用程序中要求的权限,或删除并重新添加我的Facebook帐户。
此时如何获取有效的身份验证令牌?
答案 0 :(得分:3)
由于没有接受的答案我试着回复我发现的内容。在上面的评论之后,我阅读了有关 renewCredentialsForAccount 的文档,其中写着“如果用户已经取消了您的应用程序,则此续订请求将返回ACAccountCredentialRenewResultRejected。”
什么是误导,不是拒绝Facebook的用户。
我想我现在理解这个概念,并且我试图回答那些像我一样对这个问题失败的人。事实上,我没有意识到,当我收到 ACAccountCredentialRenewResultRejected 结果时,我的FB令牌将完全重置。这就是谜题中的关键因素。
所以你需要为不同的结果做些什么:
这就是我想出的。这是一个非常讨厌的API,文档很差,缺少样本。互联网上的例子也是关于“成功”的,他们并不关心用户可以撤销应用程序之外的权限这一事实。我一直在尝试和失败的开发模式。松散的白发,但走到了尽头。我希望我的回答可以帮助别人。