Я делаю приложение с помощью Xamarin Forms и Azure. Я аутентифицируюсь с помощью Google и Facebook.
При запросе данных пользователя я использую HttpClient и делаю запрос. Запрос от Google работает нормально, но Facebook всегда возвращает ноль.
Я проверил URL в Почтальоне с тем же токеном доступа, он возвращает правильные данные.
URL-адрес:
https://graph.facebook.com/v2.8/me/?fields=name,picture,locale,link,devices,email,first_name,last_name&access_token=
Возвращает:
{
"name": "Reece Russell",
"picture": {
"data": {
"height": 50,
"is_silhouette": false,
"url": "https://lookaside.facebook.com/platform/profilepic/?asid=2139651619601242&height=50&width=50&ext=1526558014&hash=AeSKoNrLS6O4UmMV",
"width": 50
}
},
"locale": "en_US",
"link": "https://www.facebook.com/app_scoped_user_id/YXNpZADpBWEhTLXBnRko4LWlBRUVzc0RBZAXhsc3R1eXpNNGZAxNmJMaXhWT013WTFCMVNnOFpLNE1jblh3dWJjLUwyRDhLQ0QyOHh6NmxnVGNyX2REMU9vUzNYTHFKNjlfN0J5R0lVbkV5ZA1V4aDRBZAVNDMnpwS0EZD/",
"devices": [
{
"hardware": "iPhone",
"os": "iOS"
}
],
"first_name": "Reece",
"last_name": "Russell",
"id": "2139651619601242"
}
Но при выполнении этого запроса из форм Xamarin с использованием HttpClient он всегда возвращает ноль.
Код, который я использую, ниже. Я также пробовал много способов сделать запрос, включая выполнение запроса с моего сервера, который получает правильные данные из FaceBook, но возвращает ноль, когда я запрашиваю с моего сервера, он по-прежнему возвращает ноль.
using (var client = new HttpClient(new NativeMessageHandler()))
{
string url = "https://graph.facebook.com/v2.8/me/?fields=name,picture,locale,link,devices,email,first_name,last_name&access_token=" + Settings.AccessToken;
string json = await client.GetStringAsync(url);
FacebookUserProfile profile = JsonConvert.DeserializeObject<FacebookUserProfile>(json);
profile.PhotoUrl = profile.Picture.Data.Url;
profile.Name = profile.FirstName + " " + profile.LastName;
return profile;
}