如何获得;“用户”;使用Facebook C#SDK在Web API中访问令牌?
我正在开发一个web API来处理来自Facebook的实时更新(潜在客户信息),以便与我的CRM集成。 在WEB API POST请求中,我能够捕获leadID,但当我通过调用如何获得;“用户”;使用Facebook C#SDK在Web API中访问令牌?,c#,facebook,facebook-graph-api,asp.net-web-api,C#,Facebook,Facebook Graph Api,Asp.net Web Api,我正在开发一个web API来处理来自Facebook的实时更新(潜在客户信息),以便与我的CRM集成。 在WEB API POST请求中,我能够捕获leadID,但当我通过调用FB.get(leadID)获取leadinfo时,问题就出现了。为了发出Graph API GET请求(获取潜在客户信息),我需要一个用户访问令牌,这就是我一直在努力的地方。我在网上查了好几篇帖子,但都没有找到解决问题的办法 在我的示例实现中,GetLoginUrl(parameters)返回一个uri,当我在浏览器中
FB.get(leadID)
获取leadinfo时,问题就出现了。为了发出Graph API GET请求(获取潜在客户信息),我需要一个用户访问令牌,这就是我一直在努力的地方。我在网上查了好几篇帖子,但都没有找到解决问题的办法
在我的示例实现中,GetLoginUrl(parameters)
返回一个uri,当我在浏览器中请求uri时,我看到在重定向的uri中生成了访问令牌。但是如何通过编程实现呢?我试过以下方法
字符串FBAccessUrl=“”;
var accessTokenRequest=System.Net.HttpWebRequest.Create(FBAccessUrl);
HttpWebResponse=(HttpWebResponse)accessTokenRequest.GetResponse()
但是我得到了这个响应,这不是我想要的
有人可以帮助我如何在Web API中使用C#生成用户访问令牌(没有facebook登录对话框)
[HttpPost]
[ActionName("Complex")]
public void PostComplex(RootObject root)
{
FacebookClient fb = new FacebookClient();
// Get leadID from the inital HTTP POST request
long leadgen_id = root.entry[0].changes[0].value.leadgen_id;
string leadID = leadgen_id.ToString();
// to get user access token
dynamic parameters = new ExpandoObject();
parameters.client_id = "XXXXXXXXXXXXXXX";
parameters.redirect_uri = "https://www.facebook.com/connect/login_success.html";
parameters.response_type = "token";
// generate the login url
Uri uri = fb.GetLoginUrl(parameters);
// reuest the uri in browser and uri2 is the redirected uri
Uri uri2 = "****************"
string accesstoken = "";
FacebookOAuthResult oauthResult;
if (fb.TryParseOAuthCallbackUrl(uri, out oauthResult))
{
if (oauthResult.IsSuccess)
{
accesstoken = oauthResult.AccessToken;
}
else
{
var errorDescription = oauthResult.ErrorDescription;
var errorReason = oauthResult.ErrorReason;
}
}
fb.AccessToken = accesstoken;
string me = fb.Get(leadID).ToString();
// Then fetch required lead information
}