Iphone 脱机访问权限被降级后,在iOS上扩展Facebook访问令牌时出现问题
我正试图弄清楚在Facebook发布后我的iOS应用程序应该如何工作 不推荐使用脱机访问权限。我看不清楚 他们都有好几次 我想做的是:Iphone 脱机访问权限被降级后,在iOS上扩展Facebook访问令牌时出现问题,iphone,objective-c,ios,facebook-ios-sdk,Iphone,Objective C,Ios,Facebook Ios Sdk,我正试图弄清楚在Facebook发布后我的iOS应用程序应该如何工作 不推荐使用脱机访问权限。我看不清楚 他们都有好几次 我想做的是: 我通过FB授权我的iOS应用程序: [[u facebook authorize:[NSArray arrayWithObjects:@“email”、@“发布流”、@“用户生日”,无] 然后,我从graph API请求“me”,以获取我需要的FB ID 它: [[u facebook请求带图形路径:@“我”和委托:self] 然后在: -(void)请求:(F
[[u facebook authorize:[NSArray arrayWithObjects:@“email”、@“发布流”、@“用户生日”,无]代码>
“me”
,以获取我需要的FB ID
它:
[[u facebook请求带图形路径:@“我”和委托:self]代码>
-(void)请求:(FBRequest*)请求didLoad:(id)结果
if ([_facebook.expirationDate timeIntervalSinceNow] < 60*60*24) // 1 day
{
[self extendAccessTokenWithAppID:kFacebookAppID
appSecret:kFacebookAppSecret
existingToken:_facebook.accessToken];
}
我用一种简单的方式处理回应
- (void)request: (FBRequest*)request didLoad: (id)result
但我得到的总是我传递给端点的相同令牌和相同的到期日期。有效期从不延长,仅为短短的1-2小时(短寿命的正常情况)
访问令牌)。这意味着令牌未扩展
我已将删除脱机访问权限设置为禁用
你知道我的方法有什么不对吗?谢谢你的帮助
附言
我在StackOverflow上发现了类似的问题,但没有一个答案对我有用。
更新:
启用删除脱机访问权限使FB只返回长寿命令牌。我通过创建一个新的FB帐户并在我的应用程序中使用该帐户登录来测试这一点。我立刻得到了长寿令牌
使用删除脱机\u访问权限禁用FB时,即使我尝试使用文档中提供的端点扩展短期访问令牌,FB也只会为我提供短期访问令牌。端点返回具有相同过期日期的相同令牌
关键的问题是,当FB给我短期访问令牌,我联系端点将其扩展为长期访问令牌时,我无法测试场景。似乎FB开发者还没有准备好他们想要引入的功能。需要检查的东西可能会给您带来问题
“我已将删除脱机访问权限设置为禁用。”–您想启用它。我看到了,启用后,应用程序立即获得了长寿令牌。问题是,当给用户一个短期令牌,然后我通过联系端点来扩展它时,我无法测试正常路径。你知道我怎样才能做到这一点吗?谢谢你的回答!我现在有点困惑。我将“删除脱机访问权限”迁移设置为已启用,并且我的应用程序立即获得了一个长期访问令牌,而没有获得短期访问令牌?应该启用还是禁用此迁移?因为对我来说,看完这些文件后就不清楚了。干杯!:)这句话的措辞很奇怪,但是“删除脱机访问权限”被“启用”是指你的应用程序已经准备好使用新的“短/长”令牌模型了好吧,现在我明白了。但我如何测试它以查看我的令牌扩展代码是否正常工作?现在,FB给了我一个长寿命的访问令牌,而不是给了我一个短命的令牌(这样我就可以扩展它)。谢谢你需要等待一段时间才能看到它的实际发生,但下次用户回来时应该可以延长时间,假设他们仍然登录到FaceBook。我创建了一个新的FB帐户来测试我是否获得了短期令牌,但它没有发生。FB给了我60天的代币——这意味着我无法测试扩展代币是否有效。我只希望当FB开始从端点返回扩展令牌时,我的应用程序能够工作。。。呃:/。无论如何,非常感谢@Igy的帮助!它澄清了很多!
- (void)request: (FBRequest*)request didLoad: (id)result