web-dev-qa-db-ja.com

Facebook SDK 3.0でユーザーのFacebookプロフィール写真を取得する方法Android

facebook SDK 3.0を使用しています。ユーザーログインのプロフィール写真を取得する必要があります。これが私が使用するコードです:

URL image_value = new URL("http://graph.facebook.com/"+id+"/picture" );
profPict=BitmapFactory.decodeStream(image_value.openConnection().getInputStream());

しかし、希望する結果が得られません。

15
Arun

次のコードを変更する必要があります。

URL image_value = new URL("http://graph.facebook.com/"+id+"/picture" );

URLの可能なGETパラメータは、次の場所にあります。 https://developers.facebook.com/docs/graph-api/reference/user/picture/

24
Hai nguyen

http://の代わりにhttps://を使用します。同じ問題に直面しました。

URL image_value = new URL("https://graph.facebook.com/"+id+"/picture" );
profPict = BitmapFactory.decodeStream(image_value.openConnection().getInputStream());
16
Tulsiram Rathod

アプリにプロフィール写真を表示する場合は、Facebook SDKのProfilePictureViewを使用してください。

これを参照

その上でsetProfileId(String profileId)を呼び出すだけです。

画像を表示します。

12
Vishal Pawale
String id = user.getId();
try {
  URL url = new URL("http://graph.facebook.com/"+ id+ "/picture?type=large");
  String image_path = uri.toString();
  System.out.println("image::> " + image_path);
}
catch (MalformedURLException e) {
  e.printStackTrace();
}
6

Facebook SDKのProfilePictureViewを使用します。

5
Vishal Pawale

これを試して..

 try {
        imageURL = new URL("https://graph.facebook.com/" +
                                                id+ "/picture?type=large");
        Log.e("URL", imageURL.toString());
        } catch (MalformedURLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
             try {
                    bitmap = BitmapFactory.decodeStream(imageURL
                                .openConnection().getInputStream());
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }

      ProfileDp.setImageBitmap(bitmap);
2
sm_

スレッド内で次のようなことができます:

String url = "http://graph.facebook.com/"+id+"/picture";
HttpConnection conn = new HttpConnection(url);
conn.openConnection();

Drawable d = Drawable.createFromStream(new BufferedInputStream(conn.getInputStream()), "image");

conn.close();

お役に立てば幸いです。

2
Nando

Facebookアカウントがアプリケーションにログインしたら、次のようにします。

String url = Profile.getCurrentProfile().getProfilePictureUri(x, y).toString();

xとyは幅と高さです。

ドキュメントを参照してください: https://developers.facebook.com/docs/reference/Android/current/class/Profile/

0
kuhnp