LoginSignup
5
4

More than 5 years have passed since last update.

facebook sdk 自分のプロフィール画像の取得方法(大きいサイズ)

Last updated at Posted at 2016-04-24

備忘録として書きます。

取得してくる画像サイズが50px×50pxで、
androidアプリで表示すると画像がとても荒くなって表示されてしまっていたので、
大きめの画像を取得してくる方法を探していました。

いろんなサイト回ってたけど下記みたいにURLにパラメータを付加してサイズを変更しているみたいな情報ばかり。

http://graph.facebook.com/hogehoge/picture?width=200&height=200
http://graph.facebook.com/hogehoge/picture?type=square

json形式で返ってくるURLと形式が違う。
jsonで渡されるURLのイメージは下記を参照してください。

p50x50でサイズが小さいとき
https://scontent.xx.fbcdn.net/hprofile-xal1/v/t1.0-1/p50x50/hogehoge・・・
p180x180でサイズが大きいとき
https://scontent.xx.fbcdn.net/hprofile-xal1/v/t1.0-1/p180x180/hogehoge・・・

※p50x50をp180x180に変更しただけでは、大きい画像は取得できませんのでご注意。

解決策

parametersで取得してくるfieldsのpictureにtype(large)を指定してあげればOK!
イメージは下記を参照してください。また分かり難ところがあれば質問お願いします。

AccessToken accessToken = loginResult.getAccessToken();
GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
    @Override
    public void onCompleted(JSONObject object, GraphResponse response) {

    }
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,gender,picture.type(large)");
request.setParameters(parameters);
request.executeAsync();

参考URL

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4