0

私はこの問題を抱えているので、ここに提出します。

母が彼女の音楽を宣伝するために、フェイスブックのファンページとウェブサイトを作成しました。彼女は Facebook に慣れているので、バックオフィス全体を作成する代わりに、ウェブサイトにファンページの投稿、写真、イベントを表示するだけにしました。私はこれを簡単な呼び出しで行います

$data= $fb->api('/'.PAGE_ID.'/posts?fields=id');

たとえば(または「メモ」、「イベント」...)。問題は、自分の「me/accounts/」権限から取得した特定のアクセス トークンを使用する必要があることです。ときどき (たとえば毎月)、Graph API Explorer にアクセスしてそのトークンを取得し、それを Web サイトの構成に保存する必要があります。

Web サイトのサーバー側でそのアクセス トークンを生成できなかったのではないかと思っていますが、実現できないようです。Facebook PHP SDK は、私が認証されたユーザーでない限り (明らかに) api('/accounts')グラフの結果にアクセスできず、 api(PAGE_ID.'?fields=access_token')への呼び出しはページの ID のみを返します。

私は何を間違っていますか?facebook php sdk は、私の代わりに (ユーザーとは無関係に) API 呼び出しを行うことができますか?

詳細 : *manage_pages* パ​​ーミッションを使用して、ファンページとフィード リーダーと呼ばれるシンプルなアプリを作成しました。私はそのアプリを承認した唯一のユーザーであり、Web サイトのユーザーがログインする必要はありません (なぜログインする必要があるのでしょうか? これは私のファンページであり、なぜ *manage_page* 許可が必要なのですか?)。

正直なところ、公開された投稿はグラフ API でも公開されるべきだと思いますが、それには理由があると確信しています。

4

1 に答える 1

1

正直なところ、グラフAPIでも公開投稿を公開する必要があると思いますが、それには理由があると思います。

次のような公開投稿をユーザーに提供できます。 注:これは、ここでPHPSDKを使用していることを前提としていますhttp://developers.facebook.com/docs/reference/php/

$facebook = new Facebook(
    array(
        'appId'  => 'fb_app_id',
        'secret' => 'fb_secret',
    )
);

$url = '/' . 'fb_username' . '/posts?fields=id,name,created_time,message,story,type&limit=10'; // you might need to screw with this some
$page = $facebook->api($url);
while(count($page['data']) > 0)
{
    foreach($page['data'] as $fb_post)
    {
        // USE THEM DATAS
    }
    // Keep retrieving next pages until spent            
    $url_parts = parse_url($page['paging']['next']);
    $url = '/' . 'fb_username' . '/posts?' . $url_parts['query'];
    $page = $facebook->api($url);  
}

これはhttps://github.com/fyaconiello/WP_Social_Network_Posts/の例です。これは、 FB投稿をプルし、それらをWP投稿として保存します。別の質問に答えるために書かれました。

于 2013-01-22T22:08:38.290 に答える