私は現在、主にFacebookのグラフAPIに基づいているWebアプリケーションに取り組んでいます。名前やIDなど、ユーザーに関するデータ(実際には、利用可能な公開データ)を保持しています。私は、プロフィール写真が公開データの一部であることも知っています。ユーザーのIDを使用するだけで、ユーザーのプロフィール写真への直接リンクをどのように取得できるのでしょうか。
前もって感謝します
http://graph.facebook.com/ "+ facebookId +"/picture?type = squareたとえば: http://graph.facebook.com/67563683055/picture?type =正方形
「正方形」以外のサイズもあります。 ドキュメント を参照してください。
次の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
画像の最大サイズを取得するには
https://graph.facebook.com/{userID}?fields=picture.width(720).height(720)
またはサイズとして必要な他のもの。経験に基づいて、type = largeは取得できる最大の結果ではありません。
これは役立つリンクです:
http://graph.facebook.com/893914824028397/picture?type=large&redirect=true&width=500&height=5
必要に応じて高さと幅を設定できます
893914824028397はfacebookid
これは、 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自体を返します
ここで、このAPIを使用すると、FB、Google、Twitterのプロフィール写真を簡単に取得できます
これは、Twitter、Facebook、Instagram、およびgravatarを含むさまざまなソーシャルネットワークのユーザー名を指定すると、プロフィール画像を返すAPIです。 iOS、Android、Ruby、Node、PHP、Python、およびJavaScriptのライブラリがあります。
Urlを次のように使用します:https://graph.facebook.com/ser_id/picture?type = imgタグのsrcのsquareタイプはsmall、large。
このURLを使用して取得できます:画像HD(最大サイズ)を取得します
https://graph.facebook.com/{userID}?fields=picture.width(720).height(720)&redirect=false
redirect = falseを忘れないでください。エラーが返されます
これにはAngularJsを使用できます。双方向データバインディング機能により、最小限の労力と少ないコードでソリューションを取得できます。
<div> <input type="text" name="" ng-model="fbid"><br/> <img src="https://graph.facebook.com/{{fbid}}/picture?type=normal"> </div>
これがあなたの質問に答えることを願っています。注:他のライブラリも使用できます。
現在の最新の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
これがページまたはグループのプロフィール写真を探している人に役立つことを願っています。
以下のURLに従ってください
https://graph.facebook.com/facebook_user_id/picture?type=square
typeは、normal、small、medium、largeの場合があります。または正方形(正方形の画像を取得する場合、正方形のサイズは50x50に制限されます)。
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の画像が返されます。その他の可能なタイプ値には、small、normal、album、およびsquare。