コメント
コメントの投稿
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。
using System.Threading.Tasks;
using Xamarin.Forms;
namespace AppName.Views
{
public partial class FacebookTestPage : ContentPage
{
//コンストラクタ省略
//ログイン方法・アクセストークン・プロフィールの取得は前回の記事をご参考ください。
/// <summary>
/// 友達情報の一覧を取得する
/// </summary>
/// <param name="id">自分のID</param>
/// <param name="accessToken">アクセストークン</param>
/// <returns></returns>
private async Task GetFacebookFriendsAsync(string id, string accessToken)
{
var requestUrl =
"https://graph.facebook.com/" + id + "/taggable_friends" +
"?fields=id,name,first_name,last_name,picture" +
"&access_token=" + accessToken;
var httpClient = new System.Net.Http.HttpClient();
var json = await httpClient.GetStringAsync(requestUrl);
var friendList = Newtonsoft.Json.JsonConvert.DeserializeObject<FacebookFriendList>(json);
if (friendList == null ||
friendList.Data.Count <= 0)
{
return;
}
foreach (var friend in friendList.Data)
{
var firstName = friend.First_Name;
var lastName = friend.Last_Name;
var picture = await httpClient.GetByteArrayAsync(friend.Picture.Data.Url);
}
}
}
}
namespace AppName.ViewModels
{
public class FacebookFriendList
{
public System.Collections.Generic.List<FacebookProfile> Data { get; set; }
}
public class FacebookProfile
{
public string Id { get; set; }
public string Name { get; set; }
public string First_Name { get; set; }
public string Last_Name { get; set; }
public string Email { get; set; }
public DateTime Birthday { get; set; }
public FacebookPicture Picture { get; set; }
public FacebookCover Cover { get; set; }
public FacebookAgeRange Age_Range { get; set; }
public List<FacebookDevice> Devices { get; set; }
public string Gender { get; set; }
public bool Is_Verified { get; set; }
}
public class FacebookData
{
public int Height { get; set; }
public bool Is_Silhouette { get; set; }
public string Url { get; set; }
public int Width { get; set; }
}
public class FacebookPicture
{
public FacebookData Data { get; set; }
}
public class FacebookCover
{
public string Id { get; set; }
public int Offset_x { get; set; }
public int Offset_y { get; set; }
public string Source { get; set; }
}
public class FacebookAgeRange
{
public int Min { get; set; }
}
public class FacebookDevice
{
public string Os { get; set; }
}
}
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。