如何使用ASP.NET MVC 5和OWIN获取Facebook Timeline图像

本文关键字:获取 OWIN Facebook Timeline 图像 何使用 ASP NET MVC | 更新日期: 2023-09-27 18:28:59

我正在用ASP.NETMVC 5开发一个网站,并且是.NETMVC的新手。在该网站上,我必须显示用户的时间轴图像。到目前为止,我使用OWIN登录,并使用JavaScript API访问图像。有没有办法在不使用JavaScript的情况下使用ASP.NET MVC 5获取用户图像?。

var x = new FacebookAuthenticationOptions();
        x.Scope.Add("email");
        x.Scope.Add("user_photos");
        x.Scope.Add("publish_actions");
        x.Scope.Add("user_posts");
        x.AppId = "*";
        x.AppSecret = "**";
        x.Provider = new FacebookAuthenticationProvider()
        {
            OnAuthenticated = async context =>
            {
                context.Identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken", context.AccessToken));
                foreach (var claim in context.User)
                {
                    var claimType = string.Format("urn:facebook:{0}", claim.Key);
                    string claimValue = claim.Value.ToString();
                    if (!context.Identity.HasClaim(claimType, claimValue))
                        context.Identity.AddClaim(new System.Security.Claims.Claim(claimType, claimValue, "XmlSchemaString", "Facebook"));
                }
            }
        };
        x.SignInAsAuthenticationType = DefaultAuthenticationTypes.ExternalCookie;
        app.UseFacebookAuthentication(x);

与使用Facebook画布相同。但是,我需要网站。请告诉我这条路是正确的。提前谢谢。

如何使用ASP.NET MVC 5和OWIN获取Facebook Timeline图像

您可以使用Facebook SDK for.Nethttp://facebooksdk.net/docs/使用您添加到声明中的访问令牌,通过FacebookClient进行进一步的Graph Api调用。文档中的代码片段:

var fb = new FacebookClient("access_token");
dynamic me = fb.Get("me");
var id = me.id;
var name = me.name;