0

ユーザーがページのアルバムに画像をアップロードできるようにするアプリを開発しました。ユーザーに認証を要求したくないので、アプリのアクセストークンを使用してユーザーの画像をアップロードしました。これは、管理者がログインしていて、アクセストークンの有効期限が切れていない場合に正常に機能します。これは、数時間しか持続しないようです。私はstackoverflowとfacebookを調べて、さまざまなことを試しましたが、何も機能していないようです。これが私が使用しているコードの一部です:

try {
        $facebook->setAccessToken("APP_ACCESS_TOKEN_FROM_GRAPH_API_TOOL");
        $token_url="https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=".$facebook->getAccessToken();
        $page_id = 'PAGE_ID';
        $response = file_get_contents($token_url);
        $params = null;
        parse_str($response, $params);
        $page_info['access_token'] = $params['access_token'];
        $page_info = $facebook->api("/".$page_id."?fields=access_token");
        if( !empty($page_info['access_token']) ) {
            $photo_details['access_token'] = $page_info['access_token'];
            $upload_photo = $facebook->api('/'.$page_id.'/photos', 'post', $photo_details);

夢を見ているのかしら?これは可能で、コードを台無しにしただけですか?私を正しい方向に向けるだけでも、どんな助けでも大歓迎です...

4

1 に答える 1

0

現在、コードはApp Accessトークンではなく、独自のAccessTokenを使用しています。

アプリアクセストークンを取得するには、https://developers.facebook.com/docsに記載されているように、 https ://graph.facebook.com/oauth/access_token?client_id = APP_ID&client_secret = APP_SECRET&grant_type=client_credentialsにgetリクエストを送信する必要があります。 /technical-guides/opengraph/publishing-with-app-token/

実装では、APP_SECRETとAPP_IDが定数として定義されていると仮定すると、次の方法でアプリアクセストークンを取得します。

$appAccessToken = str_replace("access_token=","",$facebook->api("https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials"));
$facebook->setAccessToken($appAccessToken);
于 2012-12-24T10:03:22.893 に答える