0

我正在 Xamarin.Forms 中编写一个简单的应用程序,它允许用户通过 Facebook、Google、Instagram、Twitter 等社交网络进行身份验证。我正在使用 Xamarin.auth 来执行此操作。我在使用 Facebook 登录时遇到问题。我使用了官方指南中报告的相同代码:

https://components.xamarin.com/gettingstarted/xamarin.auth

但是在应用程序向用户请求凭据后,响应(在代码中,t.Result.GetResponseText(),第 3 节)是一个包含 Facebook 用户名和姓氏的 json,以及一个名为“id”的字段。相反,我需要用户的所有个人资料信息,例如年龄、性别等。我想我必须使用返回的 id 来构建对 facebook 服务的 http 请求,以便从 id 中检索数据。

4

1 回答 1

2

您需要在您的 facebook 链接中指定所需的字段。

例子:

 var request = new OAuth2Request("GET", new Uri("https://graph.facebook.com/me?fields=email,first_name,last_name,gender,picture"), null, eventArgs.Account);

在我如何获取字段之后

var response = await request.GetResponseAsync();
var obj = JObject.Parse(response.GetResponseText());

var id = obj["id"].ToString().Replace("\"", "");
var name = obj["first_name"].ToString().Replace("\"", "");
var lastName = obj["last_name"].ToString().Replace("\"", "");
var email = obj["email"].ToString().Replace("\"", "");
于 2016-09-28T22:50:37.070 回答