gpt4 book ai didi

c# - Facebook 图形 API - offline_access 已弃用

转载 作者:行者123 更新时间:2023-11-30 22:22:14 26 4
gpt4 key购买 nike

我对 Facebook Graph API 有点困惑。

首先,我在开发者页面上创建了一个应用程序,然后使用如下 URL 对我的应用程序进行了自动化:

www.facebook.com/dialog/oauth?client_id=MY_CLIENT_ID&redirect_uri=http://www.facebook.com/connect/login_success.html&type=user_agent

好的...在此之后页面返回了一个像这样的 URL:

www.facebook.com/connect/login_success.html#access_token=ACCESS_TOKEN&expires_in=5171411&code=CODE

我意识到返回的 ACCESS_TOKEN 总是一样的。所以我曾经像这样搜索用户:

graph.facebook.com/search?q=QUERY_SEARCH&type=user&access_token=ACCESS_TOKEN

我相信上面所有的 URL 都是正确的。

我的疑问是:我不知道如何使用长生命周期 token (实际上我什至不知道返回的 token 是否是长生命周期 token )。当我使用这些 URL 时,总是为我返回相同的标记,所以我总是使用相同的 ACCESS_TOKEN。

但正如我在 Facebook Graph 页面上看到的那样, token 不能永远处于事件状态......它们现在会过期。

我怎么知道我是否有 long live token ?当 token 过期时,我该如何“刷新”它?

我试图按照文档进行操作,但我完全迷失了......

developers.facebook.com/roadmap/offline-access-removal/

此页面说在高级设置菜单上存在“弃用 offline_acess”...但实际上没有!

所以...我不知道如何在 token 过期时管理 token ,或者如何知道我是否在使用长期 token

最佳答案

我认为一般的想法是您的访问 token 将持续一个月左右,当它停止工作时您需要申请一个新的。

我有一个像这样的方法来获取一个新的:

public static class GraphApiRequestProcessor
{
public static string GetNewAccessToken( CancellationToken cancellationToken )
{
const string tokenUrlPattern = @"https://graph.facebook.com/oauth/access_token?client_id={0}&client_secret={1}&grant_type=client_credentials";
string tokenUrl = string.Format( tokenUrlPattern, Settings.FacebookAppId, Settings.FacebookAppSecret );

using( var client = new WebClient() )
{
// allows cancellation while executing request
using( cancellationToken.Register( client.CancelAsync ) )
{
using( var data = client.OpenRead( tokenUrl ) )
{
using( var reader = new StreamReader( data ) )
{
string response = reader.ReadToEnd();
int index = response.IndexOf( "=", StringComparison.InvariantCultureIgnoreCase );
string code = response.Substring( index + 1 );
return code;
}
}
}
}
}
}

关于c# - Facebook 图形 API - offline_access 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13958091/

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