Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.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
Iphone 如何管理facebook访问令牌?_Iphone_Objective C_Ipad_Facebook - Fatal编程技术网

Iphone 如何管理facebook访问令牌?

Iphone 如何管理facebook访问令牌?,iphone,objective-c,ipad,facebook,Iphone,Objective C,Ipad,Facebook,我有一个应用程序,用户可以使用twitter和facebook登录,twitter没有问题,因为访问令牌永远不会过期,但facebook会。在我的应用程序中,如果用户登录twitter,我可以连接fb帐户,反之亦然。Facebook基本上是用来在用户的墙上分享东西的。我现在面临的问题是,当用户试图使用他们的facebook帐户共享某个内容时,访问令牌过期,它会弹出一个登录屏幕,在我登录后,它不再共享该内容。那么,维护此令牌的最佳方式是什么?我从未使用过任何其他要求我再次登录的应用程序。。。他们如

我有一个应用程序,用户可以使用twitter和facebook登录,twitter没有问题,因为访问令牌永远不会过期,但facebook会。在我的应用程序中,如果用户登录twitter,我可以连接fb帐户,反之亦然。Facebook基本上是用来在用户的墙上分享东西的。我现在面临的问题是,当用户试图使用他们的facebook帐户共享某个内容时,访问令牌过期,它会弹出一个登录屏幕,在我登录后,它不再共享该内容。那么,维护此令牌的最佳方式是什么?我从未使用过任何其他要求我再次登录的应用程序。。。他们如何使用该tok进行管理

我相信您必须请求离线访问权限,这会使您的访问令牌持续到用户决定删除您的应用程序为止。在这种情况下,您可以决定是否通过非授权URL从数据库中删除他的数据。

请注意,您需要了解Facebook和Twitter的工作方式不同

您基本上可以将accesstoken存储在NSUserDefaults中,如下所示:

[[NSUserDefaults standardUserDefaults] setObject:_facebook.accessToken forKey:@"fb_access_token"];
[[NSUserDefaults standardUserDefaults] setObject:_facebook.expirationDate forKey:@"fb_exp_date"];
我想你已经这样做了

令牌将一直持续到到期、用户更改帐户密码或用户删除您的应用程序。在这种情况下,您将得到一个异常。 获得异常后,您必须再次登录并获取新令牌,如果您想再次发布消息,将出现对话框。 由于FBDialog是一个网络视图,因此如果不点击“发布”,则无法执行该操作