1

クライアントに Facebook ギャラリーを提供しようとしていますが、サイトがホストされているサーバーのために、要求を認証する必要があります。

会社の Facebook 開発者アカウントを使用してアプリをセットアップしました。アプリのドメインをクライアントのドメインに設定しましたが、リクエストで返されたギャラリーは空です。

クライアントのFacebookアカウントにアクセスする必要があると想定しているので、Facebookアカウントに直接関連付けられたアプリを作成できます-ギャラリーが必要な場所ですか? 編集-クライアントがFacebookアカウントのパスワードを教えたくないことを指摘したいと思いました...

これが私が使用した認証コードです。誰かが私が犯した可能性のある男子生徒のエラーを指摘するのに十分親切である場合.

$no_albums = 6;
$latest_albums = null;

$user_id = "xxxxxx";
$app_secret = "xxxxxxxxxxxxxxxxxxxx";
$app_token_url = "https://graph.facebook.com/oauth/access_token?"
                        . "client_id=" . $user_id
                        . "&client_secret=" . $app_secret 
                        . "&grant_type=client_credentials"
                    . "&scope=user_photos";

$response = wp_remote_get($app_token_url);
$access_token = $response['body'];
error_log(print_r($response,true));

$query = 'https://graph.facebook.com/'.$user_id.'/albums?' . $access_token;
$albums = json_decode(file_get_contents('http://graph.facebook.com/'.$user_id.'/albums') );

そして、これはエラー ログで得られる応答 ( $albums ) です。

Array
(
    [headers] => Array
        (
            [access-control-allow-origin] => *
            [cache-control] => private, no-cache, no-store, must-revalidate
            [content-type] => application/json; charset=UTF-8
            [etag] => "1050253aec7b29caff644806927dabfa81406eee"
            [expires] => Sat, 01 Jan 2000 00:00:00 GMT
            [pragma] => no-cache
            [x-fb-rev] => 812093
            [x-fb-debug] => 9I0lRzV3GZxrflP/19iBvhly6FLUVI9jCHJAXcw0Dm0=
            [date] => Mon, 13 May 2013 10:45:39 GMT
            [connection] => close
            [content-length] => 11
        )

    [body] => {"data":[]}
    [response] => Array
        (
            [code] => 200
            [message] => OK
        )

    [cookies] => Array
        (
        )

    [filename] => 

ありがとう。

4

1 に答える 1

0

ここにはいくつかの基本的な問題があります。

まず、API リクエストで、に関連付けられたアルバムを探しますAPP_ID。ありません。クライアントのPAGE_IDまたはUSER_IDをグラフ API へのリクエストで使用する必要があります。

次に、リクエストを行う代わりに、Facebook PHP SDKfile_get_contents()を使用する必要があります。特にこれが本番環境である場合。

クライアントのアルバムが公開されている場合は、それらを表示するためにユーザーを認証する必要がない場合があります。これを確実に知るには、クライアントの Facebook ユーザー名を共有する必要があります。

于 2013-05-13T12:52:12.157 に答える