2

Facebook ページの受信トレイと送信トレイを読み取ろうとしています。page私の最初のアプローチは、ノードの受信トレイに直接アクセスすることでした。以下の URI は、私が取得しようとした方法を示しています。

/{page-id}/inbox

エラーメッセージは次のとおりです。

現在のユーザーの \"inbox\" 接続にのみアクセスできます。

次に、次のようないくつかの場所で提案されているように、conversationsとエッジにアクセスしようとしました:threads

/{page-id}/conversations

/{page-id}/threads

どちらの URI でも、次のエラーが発生します。

(#298) アプリケーションの開発者でなければなりません

何が悪いのか全くわかりませんでしたか?「#(298)」に関連する Facebook へのバグ報告がいくつかあります。これは数か月前に報告されたものですが、今のところ修正されていないことが信じられません。

代替アプローチは大歓迎です。

4

1 に答える 1

3

この問題は、ページ アクセス トークンの代わりにユーザー アクセス トークンを使用すると発生します。

私はFacebook Graph API Explorerでこれを行っていましたが、ページ アクセス トークンを使用していると思っていましたが、そうではありませんでした。{page-id}/conversations?access_token={page_access_token}API Explorer から実行すると、上部の [アクセス トークン]フィールドに が表示さ{user_access_token}れていました。これは、Explorer が送信した実際のリクエストで送信されていました (Chrome の開発ツールで見られるように)。つまり、API Explorer は I 入力を無視し、 Access Tokenフィールドの値を使用していました。{page_access_token}

Access Tokenフィールドをクリアするか{page_access_token}、そのフィールドに を入力すると、意図したもの{page_access_token}が送信されました。ブラウザーと API Explorer でいくつかの手順を実行すると、方法がわかりました。

この問題を解決する手順は次のとおりです。

  1. API エクスプローラーから [アクセス トークンの取得] をクリックし、指定されたアクセス許可を選択するか、以下の URL にアクセスしてmanage_pagesユーザー アクセス トークンを取得します。read_page_mailboxes

    https://www.facebook.com/dialog/oauth?client_id={app-id}&redirect_uri={redirect-uri}&request_type=token&scope=manage_pages,read_page_mailboxes
    
  2. ページ アクセス トークンを取得します: API Explorer から実行/me/accountsするか、以下の URL にアクセスします。

    https://graph.facebook.com/v2.0/me/accounts?method=GET&format=json&suppress_http_code=1&access_token={user-access-token}
    
  3. 会話を取得する:上記の手順のページ アクセス トークン (API Explorer を使用している場合は [アクセス トークン] フィールドに貼り付けます) を使用して、/{page-id}/conversations以下の URL を実行するかアクセスして会話**を取得します。

    https://graph.facebook.com/v2.0/{page-id}/conversations?method=GET&format=json&suppress_http_code=1&access_token={page-access-token}
    

*read_mailbox上記のコメントで述べたこととは逆に、許可は必要ありません。実際には、エラー メッセージは正しくありませんでした。ユーザー アクセス トークンを使用してページ エッジにアクセスしようとすると、無効なページ アクセス トークン エラーではなく、ユーザー アクセス エラーが返されます。

** 会話にアクセスするには、ユーザーは Facebook ページの管理者である必要があります。

于 2014-05-09T17:36:12.120 に答える