API-интерфейс Graph me / threads возвращает странный идентификатор потока - PullRequest
1 голос
/ 15 марта 2012

У меня странная проблема, и я не уверен, что это ошибка в моем коде или ошибка в том, как я использую API Facebook.

В последнее время я играю с API Graph Facebook, и сейчас начинаю писать приложение, которое собирает сообщения пользователя, вошедшего в систему. Я звоню в конечную точку / мне / потоки, и она успешно возвращается, но идентификаторы не отображаются должным образом отформатированными. Примером, который я получаю из Graph API, является "t_ / qZVQQhfJDgfEhGEPzF41Q". Эквивалентный FQL-запрос возвращает ту же нить с идентификатором «1200043279354», что больше похоже на то, что я ожидал.

Эта проблема стала очевидной для меня, когда я попытался выполнить запрос FQL, чтобы получить «SELECT ... FROM message WHERE thread_id = t_ / qZVQQhfJDgfEhGEPzF41Q». Он вернулся с жалобой на то, что «t_ не является членом таблицы сообщений». Я попытался избавиться от "t_", и он пожаловался, что "/ qZVQQhfJDgfEhGEPzF41Q" не существует. Тот же FQL-запрос для "... thread_id = 1200043279354" возвращает то, что я хочу.

Есть идеи о том, что может происходить? Разве нельзя переключаться между Graph API и FQL, как я делаю?

Ответы [ 2 ]

3 голосов
/ 15 марта 2012

Я немного искал, но не могу сказать, что это за конечная точка (/ me / threads), но я нашел этот отчет об ошибке: Новые API обмена сообщениями (/ me / threads) возвращают недопустимые символы в теме/ ID сообщения .

Документы для объекта API графа Пользователь говорят о подключении inbox , а не о потоков если вы попытаетесь получить / me / inbox , вы получите список сообщений и правильный идентификатор для каждого из них (если у вас есть разрешение на чтение_почты), вы можете попробовать:

1 голос
/ 12 июля 2012

Вы правы, что идентификаторы содержат необычные символы. Но я нашел решение. Вместо

https://graph.facebook.com/?t_xmfNQUVV7FKR3%2FnIWcfgIA

попробовать

https://graph.facebook.com/messages/?id=t_xmfNQUVV7FKR3%2FnIWcfgIA
...