Facebook 在5月1日之后,离线访问将如何工作?

Facebook 在5月1日之后,离线访问将如何工作?,facebook,sdk,access-token,Facebook,Sdk,Access Token,我做了一些测试,结果与Facebook的文档相矛盾 如果我们启用“Deprecate offline access:”并请求脱机访问,那么在移动客户端,我们将自动获得一个有效期为60天的令牌,而无需升级SDK。Facebook似乎让客户更容易使用,不需要升级。这就是Facebook上所说的。“迁移到此功能的应用将不再被要求进行脱机访问。它们将被颁发长期访问令牌,如果用户在一段时间内没有使用该应用,该令牌将过期。”未记录“一段时间”的使用期限 如果我升级SDK,则不会触发extendingToke

我做了一些测试,结果与Facebook的文档相矛盾

如果我们启用“Deprecate offline access:”并请求脱机访问,那么在移动客户端,我们将自动获得一个有效期为60天的令牌,而无需升级SDK。Facebook似乎让客户更容易使用,不需要升级。这就是Facebook上所说的。“迁移到此功能的应用将不再被要求进行脱机访问。它们将被颁发长期访问令牌,如果用户在一段时间内没有使用该应用,该令牌将过期。”未记录“一段时间”的使用期限

如果我升级SDK,则不会触发extendingToken方法,因为该令牌的有效期为60天。如果我们强制扩展令牌,我们会从Facebook得到以下错误,我不知道这是什么意思

Error Domain=facebookErrDomain Code=10 "The operation couldn’t be completed. (facebookErrDomain error 10.)" UserInfo=0x1404bb70 {request_args=(
        {
        key = method;
        value = "auth.extendSSOAccessToken";
    },
        {
        key = sdk;
        value = ios;
    },
        {
        key = "sdk_version";
        value = 2;
    },
        {
        key = "access_token";
        value = AAACiLiBjLHABAOo3NZCSSLlRddFZCQUsky0q9sogtzHIFGpNNoeYUqtt2X2QUvxMg8AwsQqSLP3oe0cxUoLIXwVZC3xDGuBC3QOvFgELwZDZD;
    },
        {
        key = format;
        value = json;
    }
), error_code=10, error_msg=The access token was not obtained using single sign-on}
如果我们不请求“离线访问”,令牌将在2小时后过期


你的观察结果是什么?有什么想法吗?Facebook有什么见解吗?

中标记为“如果您以前没有请求脱机访问”的部分解释了如何将2小时令牌交换为60天令牌:(注意,2小时和60天的值将来可能会更改)

仅访问

https://graph.facebook.com/oauth/access_token?             
        client_id=APP_ID&
        client_secret=APP_SECRET&
        grant_type=fb_exchange_token&
        fb_exchange_token=EXISTING_ACCESS_TOKEN 

并且返回的令牌将具有更长的到期日(可能是具有更长到期日的相同令牌或新令牌,您应该处理这两种情况)

谢谢lgy。我没有得到2小时代币,我得到60天。我想我不需要费心去升级SDK。我说的对吗?我认为iOS SDK和Android SDK的令牌默认更长;如果是这样的话,你不需要做任何改变就可以了请看我答案中链接的文档-它解释了iOS和Android SDK会发生什么情况,我正在试验上面的代码。当我在web浏览器中键入它时,响应是一个令牌(实际上与现有的令牌相同),但到期日中的数字至少会改变。。。你介意指导我如何将上面的代码集成到android应用程序中吗?日期已经延长到2012年10月2日。请参阅路线图文档。