2

公開されている Facebook ページ ( https://www.facebook.com/jaycorvs )の最新のステータスを単純に表示したい Web ページがあります。

アプリを作成し、API キーと秘密鍵を取得しました。PHP SDK を使用すると、次の問題が発生します。

// Facebook
require_once('facebook-php-sdk/facebook.php');

$facebook = new Facebook(array(
    'appId' => '5799359587XXXXX',
    'secret' => 'd466917a5XXXXXXXXXXXXX9dff4d77a79',
));

$status = $facebook->api("/jaycorvs/statuses?access_token=".$facebook->getAccessToken() );

// Error:
Fatal error: Uncaught OAuthException: (#100) Requires user session thrown in /vhosts/asdfasdfa.com/public/facebook-php-sdk/base_facebook.php on line 1264

では、これは、ウェブページに公開されている簡単なステータス更新を表示するだけで、実際に訪問者に Facebook アプリの許可プロセス (「このページはあなたの友達やフィードなどへのアクセスを求めています」) を通過させる必要があるということですか? ????

私は 1 年前に行った古いプロジェクトを見ていますが、そのプロジェクトのコードは非常に似ているため、当時はそうではありませんでした。Facebookは最近これを変更しましたか?

また、このアプリのアクセス許可を使用して、彫像だけでなく、ページの完全なフィード ( http://facebook.com/jaycorvs/feed ) にアクセスできるのはなぜですか? それはまったく意味がありません。

ここで明らかな何かが欠けていますか?それとも Facebook は、単に公開ステータスを表示するために、この種のアプリのアクセス許可を本当に必要としているのでしょうか?

4

2 に答える 2

0

私はそれに関して別のバグも持っていますが、それまでの間、それを回避する方法がいくつかあります:

最初に、/feed を解析します。ご存知のように、これは必要なデータを取得する 1 つの方法です... 以前はこれを行っていました... しかし、データ コレクションのサイズが大きくなるにつれて、処理負荷が高くなりすぎました...

他のオプションは?/投稿を使用します。

/posts...は /statuses に似ていると思います。主な違いは ID の形式です... /posts クエリの ID は通常、pagename_nodeid です。

19292868552_10150189643478553のように... それをスプライスして再構成し、投稿を取得することができます ...

10150189643478553 (仮説) を検索すると、

{
  "error": {
      "message": "(#100) Requires user session", 
      "type": "OAuthException", 
      "code": 100
  }
}

ただし、ノード ID のプレフィックスとしてページ ID を追加すると、ユーザー セッションの問題を回避できます...

于 2013-10-30T22:39:26.363 に答える