Facebook
Unity

Unity Facebook SDKでuser_link取得

linkを取ってくるのがfacebookのグラフAPI2.系だと取れなくなって

新しく権限の申請とか必要になってハマったので軽くまとめる

そもそもログインするのにfacebookでアプリ登録していると思うが

https://developers.facebook.com/

こちらでアプリ登録などをして





権限を追加して申請

許可が通ったら・・・

そのあとにこちらのグラフAPIエクスプローラーで取れるか確認

https://www.assetstore.unity3d.com/jp/#!/home

取れたらUnityのfacebookSDKの方へっと

FacebookのFBInitializeなどの関数でAPIのversionを3.1に。

デフォルトだとv2.6になっている。(facebook sdk 7.12.0の時点で)

これだとlinkは取得できないので注意。



FB.GraphApiVersion = "v3.1";

こうして、ログインする時にpermissionsにuser_linkを追加忘れずに。

これを追加するとアプリからログイン時にこの情報も取得するよと表示される

var list = new List<string> { "public_profile", "email", "user_link"};

FB.LogInWithReadPermissions (list,this.FacebookAuthCallback);

で、ログインできたら

FB.API("/me?fields=link", HttpMethod.GET, GetUserLink);

こんな感じでlinkを取得

private void GetUserLink(IResult result)

{
Debug.LogError("link取得完了" + result.ResultDictionary["link"].ToString());
}

これでlinkが取れた。

他人のlinkを取得するときは

/{ユーザーのID}?fields=link で取れた。