1

私のアプリでは、新しい facebook SDK (3) を使用しています。メインのアクティビティからユーザーはさまざまなボタンをクリックできます。クリックすると、新しいアクティビティが開始され、さまざまなリストが表示されます。1 つはメッセージ、2 番目は友達リクエスト、3 番目は通知です。最初の 2 つのケースではすべて正常に動作しますが、次のようなグラフパス リクエストを作成して通知を表示したい場合:

Request.executeGraphPathRequestAsync(session, "me/notifications?include_read=true",
                new Request.Callback() {}

エラーが発生します:

{応答: responseCode: 400、graphObject: null、エラー: {HttpStatus: 400、errorCode: 2500、errorType: OAuthException、errorMessage:現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります。}、isFromCache:false}

私はすでに読み取り許可 (read_mailbox、read_requests) と公開許可 (manage_notifications) を要求しました。通知リストを使用してアクティビティにアクセス トークンを渡す必要があると思いますが、その方法がわかりません。助けてくれてありがとう

解決

私は解決策を見つけました。「include_read = true」などのパラメーターをグラフパス要求に直接配置することはできません。セッション、httpmethod、パラメーター、グラフパス、コールバックのパラメーターを使用して新しい Request オブジェクトを作成する必要があります。

4

1 に答える 1

1

パラメータをgraphPathの一部としてではなく個別に送信する必要があると述べたように、あなた自身の質問に答えてくれたJanekに感謝します。誰かが同じ問題を抱えている場合に備えて、ソリューションの例を投稿しています。

new Request(session, "me", getRequestParameters(), null, new Request.Callback() { ... }).executeAsync();

   private Bundle getRequestParameters() {
      Bundle parameters = new Bundle(1);
         parameters.putString("fields", "id,name,first_name,last_name,gender,picture");
         return parameters;
   }
于 2013-07-29T21:30:40.960 に答える