2

私はユーザーのFacebook通知を読んでかなりの実験を行ってきました。

グラフによって返される通知のJSONには、objectフィールドが含まれています。私の質問は、このフィールドをnull以外にするために、アプリにはどのような権限が必要ですか?

いくつかの背景

私が解決しようとしている問題は、ユーザーにFacebook通知の電子メールのようなビューを提供することです。「ユーザーがあなたの投稿にコメントを投稿しました」だけでなく、コメントそのものを表示したい。にリクエストを送信すると、次のフィールド/notificationsを持つJSONが返されます。object

{
  "id": "notif_XXXXXXXX_373403974", 
  "from": {
    "name": "Michael XXXXX", 
    "id": "XXXXXXXX"
  }, 
  "to": {
    "name": "Josaphat Valdivia", 
    "id": "XXXXXXXX"
  }, 
  "created_time": "2013-03-10T19:46:38+0000", 
  "updated_time": "2013-03-10T19:46:38+0000", 
  "title": "Michael XXXXXXX posted in Pie on Pi!: \"I'm assuming cheesecake counts as pie.\"", 
  "link": "http://www.facebook.com/events/119151878267920/123715204478254/", 
  "application": {
    "name": "Events", 
    "id": "141157392619610"
  }, 
  "unread": 0, 
  "object": null
},

残念ながら、このフィールドはほとんどがであるようnullです。ただし、アプリにほぼすべての権限を付与すると、フィールドには「ソースオブジェクト」と呼ばれるようになったものが入力されます。

{
  "id": "notif_XXXXXXX_373368858", 
  "from": {
    "name": "Carly XXXXXX", 
    "id": "XXXXXXX"
  }, 
  "to": {
    "name": "Josaphat Valdivia", 
    "id": "XXXXXXXX"
  }, 
  "created_time": "2013-03-10T15:48:44+0000", 
  "updated_time": "2013-03-10T15:48:44+0000", 
  "title": "Carly XXXXXXX updated her status: \"yes yes concert yesssssssss\"", 
  "link": "http://www.facebook.com/XXXXXX/posts/10151810126992926", 
  "unread": 0, 
  "object": {
    "id": "XXXXXXX_10151810126992926", 
    "from": {
      "name": "Carly XXXXX", 
      "id": "XXXXXXXX"
    }, 
    "message": "yes yes concert yesssssssss", 
    "actions": [
      {
        "name": "Comment", 
        "link": "https://www.facebook.com/XXXXXXX/posts/10151810126992926"
      }, 
      {
        "name": "Like", 
        "link": "https://www.facebook.com/XXXXXXX/posts/10151810126992926"
      }
    ], 
    "privacy": {
      "value": ""
    }, 
    "type": "status", 
    "status_type": "mobile_status_update", 
    "created_time": "2013-03-10T15:48:43+0000", 
    "updated_time": "2013-03-10T15:48:43+0000", 
    "likes": {
      "data": [
        {
          "name": "Jenna XXXXXXX", 
          "id": "XXXXXXXXX"
        }, 
        {
          "name": "Kymberlee XXXXXXXX", 
          "id": "XXXXXXX"
        }, 
        {
          "name": "Lori XXXXXX", 
          "id": "XXXXXXX"
        }, 
        {
          "name": "Andreas XXXXXXXX", 
          "id": "XXXXXXX"
        }
      ], 
      "count": 6
    }, 
    "comments": {
      "count": 0
    }
  }
},

このスニペットのobjectフィールドには、アクション、いいね、コメントなど、投稿に関するすべての情報が含まれていることに注意してください。

この問題は私の頭を悩ませています。グラフエクスプローラーを試してみると、これまでのところしか理解できません。アクセス許可の可能な組み合わせが非常に多いため、すべての組み合わせを試すには数回のライフタイムがかかる可能性があります。

ご入力いただきありがとうございます。

4

1 に答える 1

0

奇妙な組み合わせのように思えますが、manage_notificationsこれが機能することがわかった2つのアクセス許可です(明らかに)。両方を持っている必要があります。

user_groups

read_stream

これらの特定のアクセス許可が何であるかはわかりませんが、試行錯誤の結果、その組み合わせにたどり着きました。

于 2013-03-15T02:32:00.863 に答える