0

私がやっていることの基本的な考え方。ユーザーのいいねを取得し、CLI アプリケーション (Twisted フレームワークを使用して GET/POST メッセージをリッスンする Python スクリプト) に出力したいと考えています。

この HTML を使用して、インライン キャンバス経由で OAuth を実行しました。
<a target='_top' href="https://www.facebook.com/dialog/oauth/?client_id=1111111111111&redirect_uri=https://apps.facebook.com/xxxxxxx/&scope=user_likes">Grant permissions</a>

大丈夫ですよね?

さて、Facebook アプリ セクション内のリアルタイム サブスクリプションセクションに移動し、追加しました

画像を参照*: http://i.stack.imgur.com/l2I3t.png そして、テストを実行すると、Python コードが正常に結果を返します。*: http://i.stack.imgur.com/9D2EKを参照してください。 .png

だから今、私は立ち往生しています。私が今期待しているのは、何かが気に入ったときに、コールバックがコールバック スクリプトに表示されるということです。render_POST と render_GET に与えられたものを単に出力しているだけで、GET 応答は問題なく出力されます。たとえば、

GET {'hub.verify_token': ['test'], 'hub.challenge': ['73678294'], 'hub.mode': ['subscribe']}
GET {'hub.verify_token': ['test'], 'hub.challenge': ['2038003566'], 'hub.mode': ['subscribe']}

しかし、自分自身として、またはテスト ユーザー (OAuth が完了した状態) として何かを気に入った場合、POST 値はありません。何もありません!

ここで何かが欠けていると思います。私は次のようなものを見ることを期待しています

{
  "data": [
    {
      "category": "Author", 
      "name": "Iain M. Banks", 
      "id": "111960934488822", 
      "created_time": "2013-04-22T13:21:42+0000"
    }, 
    {
      "category": "Movie", 
      "name": "The Life Of Brian", 
      "id": "110881634936650", 
      "created_time": "2012-12-17T07:48:24+0000"
    }
  ], 
  "paging": {
    "next": "https://graph.facebook.com/111111111/likes?limit=2&offset=2&__after_id=110881698346650"
  }
}

私の POST で、残りのコードを続行できるようにします。誰かが私のためにこれを片付けてくれることを願っています! 前もって感謝します!

*画像を投稿するには、少なくとも 10 の評判が必要です

4

1 に答える 1

1

フィールドlikesはユーザー/いいねに対応します

このユーザーが気に入ったすべてのページ。

User オブジェクトは次の接続をサポートします

このオブジェクトは、次の接続のリアルタイム更新をサポートしています: フィード、友達、アクティビティ、興味、音楽、本、映画、テレビ、いいね!、チェックイン。

https://developers.facebook.com/docs/reference/api/user/

そのため、何かが好きでも、あなたが望むものを手に入れることはできません。気に入ったオブジェクトがページであることを確認します。そうして初めて、Facebook POST がコールバックに送信されます。

さらに、POST 変数が表示されていることを確認してください。これは、request.args で発生し、発生しません。request

http://twistedmatrix.com/documents/10.1.0/web/howto/web-in-60/handling-posts.html

于 2013-05-02T23:35:39.030 に答える