C# 扩展Facebook令牌
我使用的是C# 扩展Facebook令牌,c#,asp.net-mvc,facebook,C#,Asp.net Mvc,Facebook,我使用的是Microsoft.AspNet.Mvc.FacebookNuGet软件包。我想用常规令牌交换扩展访问令牌(替换脱机访问权限的令牌) 通过谷歌搜索,我发现URL应采用以下格式: https://graph.facebook.com/oauth/access_token? client_id=[APP_ID]& client_secret=[APP_SECRET]& grant_type=fb_exchange_token
Microsoft.AspNet.Mvc.Facebook
NuGet软件包。我想用常规令牌交换扩展访问令牌(替换脱机访问权限的令牌)
通过谷歌搜索,我发现URL应采用以下格式:
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]
因此,我使用以下代码:
var longToken = await context.Client.PostTaskAsync("/oauth/access_token",
new
{
client_id = fbApp.AppId,
client_secret = fbApp.AppSecret,
grant_type = "fb_exchange_token",
fb_exchange_token = context.AccessToken
});
这将返回空值。没有任何错误。只是一个空值
编辑:还尝试了以下操作,但同样无效。但无论如何,GET
似乎比POST
更符合逻辑
dynamic result = context.Client.Get("oauth/access_token",
new
{
client_id = fbApp.AppId,
client_secret = fbApp.AppSecret,
grant_type = "fb_exchange_token",
fb_exchange_token = context.AccessToken
});
var longToken = result.access_token as string;
我已经成功地将其作为GET请求而不是POST:)只需将必要的参数放入URL并作为GET请求进行请求,响应将返回长期访问令牌 编辑 当您从中得到结果时,应该首先解析查询字符串(我在C#中不确定,但也许您可以使用以下链接:)
在那之后,我尝试获取access_token属性,我就得到了它。虽然我是在node.js中完成的,但基本上是相同的流程。我使用的是
C#SDK
。这就是为什么我用C
和asp.netmvc
标记这个问题。我没有得到回应。这就是问题所在。与其使用SDK,不如定期进行HTTP GET调用,看看是否有响应?