Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook iOS SDK:刷新过期的访问令牌而不显示对话框_Ios_Facebook_Sdk_Oauth - Fatal编程技术网

Facebook iOS SDK:刷新过期的访问令牌而不显示对话框

Facebook iOS SDK:刷新过期的访问令牌而不显示对话框,ios,facebook,sdk,oauth,Ios,Facebook,Sdk,Oauth,我在用电话。在我的代码中,我已使用默认权限授权我的应用程序,因此我的会话在达到到期日期之前是有效的。但是,在到达到期日期后,我尝试重新授权以“刷新我的OAuth令牌”,如图所示 然而,当我尝试重新授权时,它会显示一个对话框,说明我已经授权了我的应用程序,尽管我希望它只是更新我的OAuth令牌,而没有对话框。据facebook称: 当您将用户重定向到“身份验证”对话框时,该用户未被激活 如果用户已授权您的权限,则提示输入权限 应用程序Facebook将返回一个有效的访问令牌,但不包含任何 面向用户

我在用电话。在我的代码中,我已使用默认权限授权我的应用程序,因此我的会话在达到到期日期之前是有效的。但是,在到达到期日期后,我尝试重新授权以“刷新我的OAuth令牌”,如图所示

然而,当我尝试重新授权时,它会显示一个对话框,说明我已经授权了我的应用程序,尽管我希望它只是更新我的OAuth令牌,而没有对话框。据facebook称:

当您将用户重定向到“身份验证”对话框时,该用户未被激活 如果用户已授权您的权限,则提示输入权限 应用程序Facebook将返回一个有效的访问令牌,但不包含任何 面向用户的对话框


但是,我确实有一个对话框,我想知道如何在不获取对话框的情况下刷新访问令牌。

一个可能的解决方法是请求脱机访问作为权限。那么,只有在以下情况下,访问令牌才会过期:

用户从facebook注销 更改他们的密码 通过facebook网站撤销应用程序的权限

如果有人有更好的答案,我也想知道。请求离线访问我的应用可能看起来有点可疑(尽管我需要离线访问的唯一原因是访问令牌未过期,但当用户不使用我的应用时,我实际上不会访问他们的帐户)。

最近在Facebook iOS SDK项目中包含了一个用于扩展过期令牌的“扩展访问令牌”方法


关于这一点以及“离线访问”的反对意见的更多信息,请参阅Facebook开发者的。

我也面临着同样的问题。。如果你明白了,请告诉我。我相信Facebook在你链接到的帖子中描述的行为只适用于web应用。不幸的是,离线访问现在已被弃用。这个扩展访问令牌api似乎根本不适用于我