尝试使用Facebook SDK访问C#中的Facebook个人资料时,我遇到了问题。
我一直在使用Xamarin.Auth的OAuth2Authenticator来生成访问令牌,一切似乎都很好。但是,当我尝试获取实际的个人资料信息时,我唯一得到的是:
我似乎无法以任何方式获得public_profile。我一直试图解决这个问题好几个小时,但我似乎无法修复它。我一直在搞乱我的Facebook应用程序设置,代码,但似乎没有任何效果。
我的代码如下:
private void BtnFacebookLogin_Clicked(object sender, EventArgs e)
{
IDictionary<string, object> result = new Dictionary<string, object>();
var auth = new OAuth2Authenticator(FacebookAppId, "", new Uri("https://m.facebook.com/dialog/oauth/"), new Uri("http://www.facebook.com/connect/login_success.html"));
auth.AllowCancel = true;
var ctx = Forms.Context as MainActivity;
auth.Completed += (s, eventArgs) =>
{
if (eventArgs.IsAuthenticated)
{
FacebookClient fb = new FacebookClient(eventArgs.Account.Properties["access_token"]);
fb.AppSecret = auth.ClientSecret;
fb.AppId = "XXXXXXXXXXXXXX";
var parameters = new Dictionary<string, object>();
result = (IDictionary<string, object>) fb.Get("me");
Content = GenerateProfilePage(result);
}
};
ctx.StartActivity(auth.GetUI(ctx));
}
我真的希望你们能帮助我。