2013-01-24 3 views
1

Я пишу приложение, которое собирает информацию с уведомлений пользователей Facebook. Использование в Graph Explorer, я прошу:Узнать больше о Facebook Уведомления?

me/notifications?include_read=true 

и это возвращает кучу данных. Каждый элемент - это элемент уведомления, который вы увидите при входе в Facebook. Например (ID/имена слегка изменены):

{ 
    "id": "notif_630262196_168132987", 
    "from": { 
    "name": "John Bloggs", 
    "id": "822724665" 
    }, 
    "to": { 
    "name": "Dermot Bloggs", 
    "id": "680265196" 
    }, 
    "created_time": "2013-01-23T22:58:28+0000", 
    "updated_time": "2013-01-23T22:58:28+0000", 
    "title": "John Bloggs commented on your link: \"Goodbye Great Barrier Reef. Goodbye...\"", 
    "link": "http://www.facebook.com/<removed>/posts/330788937030559?comment_id=1702155", 
    "application": { 
    "name": "Links", 
    "id": "2309869772" 
    }, 
    "unread": 0, 
    "object": null 
} 

Уведомление в связи с комментарием, но «название:» поле получает урезано, если оно слишком долго.

Есть ли чистый способ я могу программно получить доступ к комментарию напрямую, поэтому я могу получить весь текст, даже если это комментарий с 1000 символами?

Спасибо! :-)

ответ

2

Вы должны быть в состоянии получить комментарий от разбора link поля и обработку запросов:

/330788937030559_1702155 

или

Когда я проверил это на мой счет, я получаю comments объект в возвращаемых данных, с полным текстом комментариев. У меня есть большинство разрешений в моем графическом API. Я подозреваю, что добавление read_stream к разрешениям - это то, что даст вам эти данные.

+0

спасибо. Я надеялся избежать разбора, но это работает, так что должно быть хорошо. Мне просто нужно проверить его на уведомлениях о комментариях на wallposts, фотографии, видео и т. Д., Чтобы убедиться, что мой код разбора работает во всех случаях. – Dermot

1

Вы можете избежать разбора! Я много экспериментировал с уведомлениями и получал то, что я назвал «исходным» объектом (исходным объектом является объект Facebook Graph, из которого происходит уведомление). К сожалению, я не могу найти никакой документации о том, как именно работает этот механизм, но если вашему приложению предоставлено много разрешений, поле "object", которое в JSON, которое вы разместили, равно null, фактически будет заполнено «исходным объектом». Вместо того, чтобы просто "object" : null это будет выглядеть следующим образом:

"object": { 
    "id": "587140489_588632201147717", 
    "from": { 
     "name": "Dave Rodríguez", 
     "id": "587140489" 
    }, 
    "message": ":D ", 
    "picture": "https://fbcdn-vthumb-a.akamaihd.net/hvthumb-ak-prn1/632550_478955408819349_478954732152750_60483_1892_t.jpg", 
    "link": "https://www.facebook.com/photo.php?v=478954732152750", 
    "source": "http://video.ak.fbcdn.net/hvideo-ak-prn1/v/754708_478955348819355_1792301950_n.mp4?oh=c7295ccfc3773f24de931e4c29f512ce&oe=513F1728&__gda__=1363127340_9302c108824176369427a0b17491b800", 
    "name": "¡¡¡EL SECRETO DE LA CHANCLA!!!!", 
    "description": "EL SECRETO DE LAS MADRES, EL MÁS UTILIZADO EN TODAS LAS GENERACIONES, VÉALO USTED MISMO Y ((COMPARTA))!", 
    "properties": [ 
     { 
     "name": "Length", 
     "text": "1:13" 
     } 
    ], 
    "icon": "https://fbstatic-a.akamaihd.net/rsrc.php/v2/yD/r/aS8ecmYRys0.gif", 
    "actions": [ 
     { 
     "name": "Comment", 
     "link": "https://www.facebook.com/587140489/posts/588632201147717" 
     }, 
     { 
     "name": "Like", 
     "link": "https://www.facebook.com/587140489/posts/588632201147717" 
     } 
    ], 
    "privacy": { 
     "value": "" 
    }, 
    "type": "video", 
    "status_type": "shared_story", 
    "object_id": "478954732152750", 
    "application": { 
     "name": "Video", 
     "namespace": "video", 
     "id": "2392950137" 
    }, 
    "created_time": "2013-03-10T20:45:20+0000", 
    "updated_time": "2013-03-10T20:45:20+0000", 
    "likes": { 
     "data": [ 
     { 
      "name": "Adrian Guerra Cuenta Verificada", 
      "id": "674364748" 
     } 
     ], 
     "count": 1 
    }, 
    "comments": { 
     "count": 0 
    } 
    } 

Я надеюсь, что кто-то более знающий, чем я могу точно сказать, какие разрешения мы должны видеть данное поле заполняется. Я бы понял это сам, но есть так много разрешений, что грубые форматирование возможных комбинаций разрешений займет очень много времени.

Смежные вопросы