web-dev-qa-db-ja.com

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

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

前もって感謝します

111
user975343

http://graph.facebook.com/ "+ facebookId +"/picture?type = squareたとえば: http://graph.facebook.com/67563683055/picture?type =正方形

「正方形」以外のサイズもあります。 ドキュメント を参照してください。

269
Zack Bartel

次の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

115

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

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

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

36
reyalsnogard

これは役立つリンクです:

http://graph.facebook.com/893914824028397/picture?type=large&redirect=true&width=500&height=5

必要に応じて高さと幅を設定できます

893914824028397facebookid

16
Sadik Ali

これは、 Graph APIドキュメントのフロントページのliterallyです

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

例:

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

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

13
Igy

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

https://www.avatars.io/

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

6
Norielle Cruz

Urlを次のように使用します:https://graph.facebook.com/ser_id/picture?type = imgタグのsrcのsquareタイプはsmall、large。

3
Needhi Agrawal

このURLを使用して取得できます:画像HD(最大サイズ)を取得します

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

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

2
Mahmoud Turki

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

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

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

2
Srinivas

現在の最新の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

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

1
Avtar Gaur

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

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

typeは、normal、small、medium、largeの場合があります。または正方形(正方形の画像を取得する場合、正方形のサイズは50x50に制限されます)。

1
Rahul Gupta

Javascript SDK(v2.12-April、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レスポンスを取得するには、デフォルトでリクエストがイメージにリダイレクトされるため、値として(ゼロ)を持つパラメーターredirectが重要です。同じURLに他のパラメーターを追加できます。例:

  • "/" + uid + "/picture?redirect=0&width=100&height=100":100x100の画像が返されます;
  • "/" + uid + "/picture?redirect=0&type=large":200x200の画像が返されます。その他の可能なタイプ値には、smallnormalalbum、およびsquare
1
CPHPython