gpt4 book ai didi

objective-c - 在 FBConnect 的新图形 API 中恢复 session

转载 作者:行者123 更新时间:2023-11-29 13:49:37 24 4
gpt4 key购买 nike

我已经在互联网上搜索了这个问题的答案,但找不到。

仅使用 FBConnect 最新 SDK 的新图形 API,您如何“恢复 session ?”

在旧的 SDK 和 API 中,您可以调用类似 [session resume] 的方法;这将恢复您的 session 。我找不到任何适用于新 SDK/API 的等效项。

[ session 恢复];不起作用。

[ session 是SessionValid];将测试 session 的有效性,但不会恢复 session 。

现在,我唯一想做的就是让用户在每次使用该应用程序时都转到该应用程序的授权页面。然而,这很烦人,因为在用户最初授权该应用程序后,每次它返回到页面时都会显示:“您已经授权 [应用程序名称] 应用程序”,然后您可以点击确定,它会将您送回具有有效 session 的应用程序。 *我在互联网上看到其他帖子,其中其他开发人员不得不使用相同的过程,因为他们也找不到答案。

如果有人有任何答案,请分享。但是,由于此问题专门针对新图形 API 和新 SDK,因此将删除包含旧 API 或 SDK 的代码/说明的答案。

最佳答案

在 fbdidLogin 中做

[[NSUserDefaults standardUserDefaults] setObject:facebook.accessToken forKey:@"AccessToken"];
[[NSUserDefaults standardUserDefaults] setObject:facebook.expirationDate forKey:@"ExpirationDate"];
[[NSUserDefaults standardUserDefaults] synchronize];

每次您的应用加载时,恢复这些 key 并使用它们创建一个 facebook 对象:

facebook = [[[Facebook alloc] initWithAppId:@"yourappid"] retain];
facebook.accessToken = [[NSUserDefaults standardUserDefaults] stringForKey:@"AccessToken"];
facebook.expirationDate = (NSDate *) [[NSUserDefaults standardUserDefaults] objectForKey:@"ExpirationDate"];

然后对该对象使用 isSessionValid。如果它是有效的,就继续使用同一个对象来处理图形 API 业务。如果没有,则进行正常授权。这对我很有效。希望对您有所帮助。

关于objective-c - 在 FBConnect 的新图形 API 中恢复 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5569990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com