0

Facebookのページ(ユーザーではない)からメッセージを取得するためのphpスクリプトを開発しています。私はそのページ (私のもの) にアクセスできるので、構成で何かを変更する必要がある場合は変更できます。

FacebookのグラフAPI WebページでFQLクエリを試してみましたが、うまくいきました。すべてのメッセージを含むファイルを取得します。

しかし、私のphpスクリプトでそれを試みるたびに失敗します。ローカルホストサーバーで試して、スクリプトを呼び出しています: "localhost/testServer/phpScript.php" パラメータを追加する必要があるかどうかわかりません。

多くの例とチュートリアルを確認しましたが、すべて似ていますが、私の場合は機能しません。

私はいつもこのメッセージで例外を受け取ります:

Fatal error: Uncaught Exception: 100: Requires user session thrown in C:\xampp\htdocs\testServer\base_facebook.php on line 1271

それを try/catch で囲み、取得したものを出力すると、getType() では例外であり、getResult() では配列であることがわかります。

私のコードは非常に単純です:

<?php

require_once("facebook.php");

//Get Facebook SDK Object
$config = array(
  'appId'  => '*******',
  'secret' => '*******',
  'cookie' => true,
);

$facebook = new Facebook($config);

//$fql = "SELECT message FROM status WHERE uid = 169070991963 ORDER BY time DESC";
$fql = "SELECT message FROM status WHERE uid = 169070991963";

//Create Query
$param  =   array(
    'method'    => 'fql.query',
    'query'     => $fql,
    'access_token'=>'*******|******-*******',
    'ext_perm'   => "read_stream",
);
    $result = $facebook->api($param);
    print_r($result);
?>

appId、secret、access_token を削除しました。

ステータステーブルを使用してread_streamパーミッションについて何かを読みました。ただし、access_token および ext_perm タグを追加しても効果はありません。Web ページの uid は公開されているため、自分でコードをテストできるようにしておきます。

php fqlでこのクエリが出来なくても、同じ結果が得られるなら通常のAPIを使っても問題ありません。

私はこのスクリプトを実行するのに何日も費やしていますが、この問題で完全に迷っています。

4

0 に答える 0