ios – 调用renewCredentialsForAccount时如何处理“ACAccountCredentialRenewResultRejected”消息

ios – 调用renewCredentialsForAccount时如何处理“ACAccountCredentialRenewResultRejected”消息,第1张

概述我创建一个ACAccountStore,访问用户的Facebook帐户,将帐户存储在ACAccount对象中,并且能够从凭证中检索令牌.但是,当我尝试使用此令牌从Facebook检索信息时,它将不会进行身份验证,并且尝试使用renewCredentialsForAccount续订凭据只会产生ACAccountCredentialRenewResultRejected的响应. 我无法通过任何简单的方 我创建一个ACAccountStore,访问用户的Facebook帐户,将帐户存储在ACAccount对象中,并且能够从凭证中检索令牌.但是,当我尝试使用此令牌从Facebook检索信息时,它将不会进行身份验证,并且尝试使用renewCredentialsForAccount续订凭据只会产生ACAccountCredentialRenewResultRejected的响应.

我无法通过任何简单的方式再次显示权限d出窗口请求许可.我可以再次请求权限的唯一方法是更改​​我在应用程序中要求的权限,或删除并重新添加我的Facebook帐户的设置.

如何在此时获取有效的身份验证令牌?

解决方法 由于没有接受的答案,我试着回复我发现的内容.在我上面的评论之后,我阅读了有关renewCredentialsForAccount的文档,其中说“如果用户已经取消了您的应用程序,则此续订请求将返回ACAccountCredentialRenewResultRejected.”

什么是误导,不是拒绝Facebook的用户.

我想我现在理解这个概念,我试着回答那些像我这样的问题失败的人.事实上,我没有意识到,当我收到ACAccountCredentialRenewResultRejected结果时,我的FB令牌将完全重置.这就是谜题中的关键因素.

那么你需要做些什么来获得不同的结果:

> ACAccountCredentialRenewResultRenewed你很高兴去,你有一个新的令牌.使用此续订令牌转到并执行SLRequest.
> ACAccountCredentialRenewResultRejected:你的令牌被重置,如果你试图获得一个它将是一个零.您必须从头开始请求用户的权限并“安装”Facebook的应用程序.这意味着您首先要求通常的“电子邮件其他读取权限”和(如果您需要)在单独的请求中请求写入权限. (如果我想上传照片,有人可以解释为什么Facebook要我打扰用户两次)
> ACAccountCredentialRenewResultFailed:我无法重现这一点.我相信你在这里向用户发送错误信息.

这就是我提出的.这是一个非常讨厌的API,文档很差,缺少样本.互联网上的例子也是关于“成功”的例子,他们并不关心用户可以在应用程序之外撤销权限这一事实.我一直在尝试和失败的开发模式.松散的白发,但走到了尽头.我希望我的回答可以帮助别人.

总结

以上是内存溢出为你收集整理的ios – 调用renewCredentialsForAccount时如何处理“ACAccountCredentialRenewResultRejected”消息全部内容,希望文章能够帮你解决ios – 调用renewCredentialsForAccount时如何处理“ACAccountCredentialRenewResultRejected”消息所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1099532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存