IDでユーザープロフィール写真を取得する


123

私は現在、ほとんどがFacebookのグラフAPIに基づいているWebアプリケーションに取り組んでいます。ユーザーに関するいくつかのデータ(実際には、名前やIDなど、利用可能な公開データ)を保持しています。プロフィール写真が公開データの一部であることも知っています。ユーザーのIDを使用するだけで、ユーザーのプロフィール写真への直接リンクを取得するにはどうすればよいでしょうか。

前もって感謝します


回答:


295

http://graph.facebook.com/ "+ facebookId +" / picture?type = square例:http : //graph.facebook.com/67563683055/picture ?type=square

「スクエア」以外にもサイズがあります。docsを参照してください。


31
ドキュメントへのリンクを希望する場合:developer.facebook.com/docs/graph-api/reference/user/picture
Frankie Jarrett

32
彼らは他のすべてのオプションも持っているので、ドキュメントを見るのが最善です。たとえば、大きな正方形の画像が必要な場合(正方形のデフォルトは小さいため)、を使用する必要がありますhttps://graph.facebook.com/{facebookId}/picture?type=large&width=720&height=720
sudo 14

2
画像自体ではなく、画像のURLを照会する方法はありますか?可能であれば、サーバーを介さずにフロントエンドに画像をアップロードしたい
Alexander Mills

1
うまくいけば、これにより、誰かが自分のプロファイルIDを見つけるための追加の手順を1つ節約できます-findmyfbid.com
jarmerson

3
画像そのものではなく、redirect = 0を使用してJSONの説明(URLを含む)を取得します
Ilya Denisov

123

以下のURLを使用して、さまざまなサイズのプロフィール画像を取得できます。Facebook IDを必ずURLに追加してください。

大きいサイズの写真 https://graph.facebook.com/ {facebookId} / picture?type = large

中型の写真 https://graph.facebook.com/ {facebookId} / picture?type = normal

小さいサイズの写真 https://graph.facebook.com/ {facebookId} / picture?type = small

正方形の写真 https://graph.facebook.com/ {facebookId} / picture?type = square


2
これは私が自分自身のFacebookIdを発見することができた方法だった:developers.facebook.com/tools/explorer/...
ライアン

39

画像の最大サイズを取得するには

https://graph.facebook.com/{userID}?fields=picture.width(720).height(720) 

またはあなたがサイズとして必要な何か他のもの。経験に基づくと、type = largeは、取得できる最大の結果ではありません。


1
次も渡すことができます:graph.facebook.com {userID}?fields = picture.type(large)これは、次のような場合に便利です。Stringurl = " graph.facebook.com/me?fields=id,name,email 、picture.type(large) 他の回答で述べたように、largeをnormal、small、square ...に置き換えることができます
yajnesh

これにはアクセストークンが必要ですか(最近)。
ベルヌーイIT


13

これは文字通りGraph APIドキュメントのフロントページにあります

  • /OBJECT_ID/picture オブジェクトの画像(この場合はユーザー)へのリダイレクトを返します
  • /OBJECT_ID/?fields=picture 画像のURLを返します

例:

<img src="https://graph.facebook.com/4/picture"/> Zuckのプロフィール写真へのHTTP 301リダイレクトを使用します

https://graph.facebook.com/4?fields=picture URL自体を返します


1
悲しいかな、それはGraph APIドキュメントのホームページではなくなりました。今ここにあります:developer.facebook.com/docs/graph-api/using-graph-api
Igy

3
いいえ、それはGraph APIドキュメントのフロントページにはありません。SOの時間制約ステートメントは避けた方がよいでしょう。あなたが知っている..物事はその当時かなり速く変化します...
Gianluca Ghettini 2015

皮肉なことに、あなたの答えはとにかくグラフapiページよりも関連性の高い情報ではるかに有用です:-)
Simon_Weaver

6

ここで、このAPIを使用すると、fb、google、twitterのプロフィール写真を簡単に取得できます

https://www.avatars.io/

これは、Twitter、Facebook、Instagram、およびgravatarなどのさまざまなソーシャルネットワークのユーザー名を指定すると、プロフィール画像を返すAPIです。iOS、Android、Ruby、Node、PHP、Python、JavaScript用のライブラリがあります。


1
それは本当に素晴らしいです!SOがリンクをもう少し詳しく説明するのが好きだからといって、これは、Twitter、Facebook、Instagram、およびgravatarを含むさまざまなソーシャルネットワークのユーザー名を指定すると、プロフィール画像を返すAPIです。iOS、Android、Ruby、Node、PHP、Python、JavaScript用のライブラリがあります。非常に優れたソフトウェア。それは見つけることができるGitHubの上
Ari Cooper-Davis

3

あなたはこのURLを使用してそれを得ることができます:あなたは画像HD(最大サイズ)を取得します

https://graph.facebook.com/{userID}?fields=picture.width(720).height(720)&redirect=false

redirect = falseを忘れないでください。そうしない とエラーが返されます


2

imgタグのsrcでhttps://graph.facebook.com/ user_id / picture?type = square としてURLを使用します。タイプは小さくても大きくてもかまいません


2

これにはAngularJを使用できます。その双方向のデータバインディング機能は、最小限の労力と少ないコードでソリューションを実現します。

<div> <input type="text" name="" ng-model="fbid"><br/> <img src="https://graph.facebook.com/{{fbid}}/picture?type=normal"> </div>

これがあなたのクエリに答えることを願っています。注:他のライブラリも使用できます。


1

スルーJavascriptのSDK(v2.12 - 4月、2017)あなたは絵のリクエストこの方法の詳細を取得することができます:

FB.api("/" + uid + "/picture?redirect=0", function (response) {
  console.log(response);

  // prints the following:
  //data: {
  //  height: 50
  //  is_silhouette: false
  //  url: "https://lookaside.facebook.com/platform/profilepic/?asid=…&height=50&width=50&ext=…&hash…"
  //  width: 50
  //}

  if (response && !response.error) {
    // change the src attribute of img elements
    [...document.getElementsByClassName('fb-user-img')].forEach(
      i => i.src = response.data.url
    );

    // OR redirect to the URL above
    location.assign(response.data.url);
  }
});

JSON応答にパラメータを取得するredirect0要求は、デフォルトで画像にリダイレクトするための値が重要であるように(ゼロ)。同じURLに他のパラメーターを追加することもできます。例:

  • "/" + uid + "/picture?redirect=0&width=100&height=100":100x100の画像が返されます。
  • "/" + uid + "/picture?redirect=0&type=large":200x200の画像が返されます。他に考えられるタイプの値には、smallnormalalbum、およびsquareがあります。

1

以下のURLに従ってください

https://graph.facebook.com/facebook_user_id/picture?type=square

タイプは、通常、小、中、大の場合があります。または正方形(正方形の画像を取得する場合、正方形のサイズは50x50に制限されます)。


2
正方形の画像を取得したい場合。正方形のサイズは50x50に制限されています。
Rahul Gupta

詳細については、Facebook Graph
Rahul Gupta

1

現在の最新のFacebook APIバージョン3.2に従い、ユーザーはこの一般的な方法を使用してプロフィール写真を取得できます。https://graph.facebook.com/v3.2/ {user-id} / picture ?type = square こちらのユーザー画像のドキュメントにアクセスしてください。URLのタイプパラメータの可能な値は、小さい、通常、アルバム、大きい、正方形のいずれかです。

グループとページの場合、プロフィール写真は直接利用できません。アクセストークンを使用して取得する必要があります。グループの場合はユーザーアクセストークンを使用する必要があり、ページの場合はユーザーアクセストークンとページアクセストークンの両方を使用できます。

次の一般的なURLを使用して、グループまたはページのプロフィール写真を取得できます:https : //graph.facebook.com/v3.2/{user-id} / picture?access_token={access-token}&type=square

これがページまたはグループのプロフィール写真を探している人に役立つことを願っています。


ほとんどのページで、アクセストークンなしのページプロフィール画像を取得していますが、一部のページでは、応答として以下の形式で疑問符の画像が返されます。{"data":{"is_silhouette":true、 "url": " static.xx.fbcdn.net/rsrc.php/v3/y6/r/_xS7LcbxKS4.gif "}}任意の手がかり?
XYZ

0

次のエンドポイントを使用して、jpgの代わりにimage.jfifを取得できます。

https://graph.facebook.com/v3.2/{user-id}/picture

画像は表示されず、ダウンロードするだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.