70

アプリケーションのキャンバス ページ内にユーザーのプロフィール画像を表示したいのですが、グラフ API を使用してそれを行う方法はありますか?

私はFBMLを使用してそれを行うことができることを知っていますが、私が作成しているフラッシュゲームにもプロフィール写真を渡したいので、APIからプロフィール写真を取得して変数として送信する必要があります.ここにコードがありますこれまでに、

$facebook = new Facebook(array(
    'appId'  => FACEBOOK_APP_ID,
    'secret' => FACEBOOK_SECRET_KEY,
    'cookie' => true,
    'domain' => 'myurl/facebook-test'
));

$session = $facebook->getSession();

        $uid = $facebook->getUser();
        $me = $facebook->api('/me');

        $updated = date("l, F j, Y", strtotime($me['updated_time']));

        echo "Hello " . $me['name'] . $me['picture'] . "<br />";
  echo "<div style=\"background:url(images/bg.jpg); width:760px; height:630px;\">" . "You last updated your profile on " . $updated . "</div>" . "<br /> your uid is" . $uid;

$me['picture']動作しているようには見えませんが、私はまだグラフ API に非常に慣れていないため、おそらくいくつかの非常に素人の間違いを犯しています!

4

9 に答える 9

125

ユーザーIDを知っていると、プロフィール写真のURLは次のようになります。-

http://graph.facebook.com/[UID]/picture

[UID]の代わりに$uid変数を配置すると、そのURLをフラッシュに渡すことができます

于 2010-06-10T09:00:01.517 に答える
81

異なるサイズを取得するには、type パラメータを使用できます。

type 引数で必要な画像サイズを指定できます。これは、正方形 (50x50)、小 (幅 50 ピクセル、高さ可変)、大 (幅約 200 ピクセル、高さ可変) のいずれかである必要があります: http://graph .facebook.com/squall3d/picture?type=large .

于 2010-08-13T08:37:32.960 に答える
22

以下に示すようなパラメータを指定して、プロフィール写真のサイズを変更することもできます。

https://graph.facebook.com/[UID]/picture?width=140&height=140

もうまくいくでしょう。

于 2012-09-10T15:25:51.217 に答える
7
  //create the url
  $profile_pic =  "http://graph.facebook.com/".$uid."/picture";

 //echo the image out
 echo "<img src=\"" . $profile_pic . "\" />"; 

私にとってはうまくいきます

于 2011-05-12T08:53:19.790 に答える
3

これが私のために働いたコードです!

有効なセッションが進行中であると仮定すると、

//Get the current users id
$uid = $facebook->getUser();

//create the url
$profile_pic =  "http://graph.facebook.com/".$uid."/picture";

//echo the image out
echo "<img src=\"" . $profile_pic . "\" />";

レインに感謝します、あなたは男です!

于 2010-06-10T10:17:36.527 に答える
1

CURL の使用中にプロフィール写真を取得する際に問題が発生しました。しばらくの間、Facebook API の実装に問題があると考えていましたが、CURL に次のコードを少し追加する必要があります。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
于 2011-08-17T22:15:46.417 に答える
1

非常に重要なことの 1 つは、他の Graph API 要求と同様に、応答で JSON データを取得するのではなく、呼び出しが HTTP REDIRECT をプロファイル画像の URL に返すことです。そのため、URL をフェッチする場合は、応答 HTTP ヘッダーを読み取るか、FQL を使用する必要があります。

于 2012-10-27T09:48:38.360 に答える