我在 asp.net Web 应用程序的 facebook_login 页面的 Page_Load 上使用以下代码。重定向此 url 后,我在 url 中获得了 accesstoken,但是当我尝试通过 HttpContext.Current.Request.Url.AbsoluteUri 访问此当前 url 时,它给出了发布它的应用程序的 url,而不是当前在窗口中的 url。
如何访问此访问令牌或用户详细信息?
var uriParams = new Dictionary<string, string>() {
{"client_id", facebookAppId},
{"response_type", "token"},
{"scope", "user_about_me, read_stream, email"},
{"redirect_uri", "http://apps.facebook.com/appNameHere/"}
};
StringBuilder urlBuilder = new StringBuilder();
foreach (var current in uriParams)
{
if (urlBuilder.Length > 0)
{
urlBuilder.Append("&");
}
var encoded = HttpUtility.UrlEncode(current.Value);
urlBuilder.AppendFormat("{0}={1}", current.Key, encoded);
}
var loginUrl = "http://www.facebook.com/dialog/oauth?" + urlBuilder.ToString();
Response.Redirect(loginUrl);