Получать доступные пользователю запросы, отправленные другими пользователями

БАМП: это не мертвый запрос. Я все еще надеюсь получить надежный ответ от кого-то в Facebook или кого-либо еще. Благодарю.

Пересмотренный запрос: я не знаю, задаю ли я правильный вопрос или задаю правильный вопрос, на который никто не может ответить.

Новые вопросы:

Можем ли мы использовать FQL или другое средство для получения всех запросов, представленных на reqs.php? По сути, я ищу что-то вроде этого:

SELECT request_id, app_id FROM apprequest WHERE recipient_uid = me()

Уведомления возвращают эти данные, но запросы приложений часто объединяются в одну запись со ссылкой, идентифицирующей некоторые, но не все запросы. Я хочу, чтобы отдельные записи для всех запросов приложений были открыты. Данные для этого должны быть доступны, так как это данные, используемые для создания уведомлений! Просто кажется, что это нам не доступно.:(

Спасибо!

Исходный запрос следует:

У меня есть приложение, которое объединяет различные источники информации Facebook для пользователя. Один из наборов данных, над которыми я работаю, - это набор запросов, которые были отправлены этому пользователю друзьями. Например, я открываю GreatApp и нажимаю, чтобы отправить вам запрос. Вы можете или не можете использовать GreatApp, но давайте предположим, что вы не заблокировали запросы от него. Теперь вы открываете мое AggregatorApp, которое показывает мой запрос и включенную ссылку на GreatApp. Данные, которые вы видите, такие же, как в reqs.php, но отформатированы по-разному, с гораздо большим количеством данных и, конечно, просто намного лучше.;)

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

При использовании пути / me / apprequests нам не нужно указывать идентификатор приложения. Но я считаю, что здесь нам нужно предоставить токен приложения, а не токен пользователя. Это верно? Если это правильно, то это подтверждает, что запросы отправляются этим приложением, а не запросы, генерируемые другими приложениями.

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

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

Спасибо!

Другие темы, задающие тот же вопрос без хорошего (или какого-либо) ответа: thread1 thread2

4 ответа

Решение

Вам нужно сделать граф API-запрос, чтобы получить соединение apprequests для пользователя. См. Текущую документацию здесь: http://developers.facebook.com/docs/reference/api/user/.

В таблице "Подключения" в документации правильно указано, что вам нужен токен доступа к приложению, чтобы получить запросы к этому пользователю. В документации (http://developers.facebook.com/docs/reference/api/user/#apprequests) есть ошибка, которая утверждает, что вам нужен токен доступа пользователя. Это неверно, и (как вы видели) вернет пустой список запросов.

Запросы, отправленные приложением, видны только приложению. Пользователь не может видеть или удалять эти запросы (хотя они могут скрыть запрос). Причина этого в том, что приложения могут помещать данные в запросы (255 символов), которые никогда не показываются пользователю или другим приложениям.

Я не думаю, что вы сможете объединять запросы пользователей из приложений, для которых у вас нет токена доступа.

Что я обнаружил (до того, как мой вопрос был удален), так это то, что вы не можете получить доступ к запросам с помощью токена пользователя, а токены приложения могут получать доступ только к запросам, отправленным приложением (и я сам обнаружил это в документации и поиграл с графограф). Поскольку я знаю, что существуют приложения для iPhone и плагины для браузера для обработки запросов, я предполагаю, что они обращаются к самой странице и анализируют данные (например, очищают сайт). Недостатком такого подхода является то, что на странице запросов одновременно показывается только около 100 запросов от каждого приложения.

(Если некоторые люди не нашли способ, которым они не делятся...)

Вы правы, вам нужен app_access_token, а не user_access_token.

Я думаю, что в документации FB есть ошибка.

Окончательный ответ был предоставлен разработчиком Facebook здесь в ответ на мой отчет об ошибке. Решение заключается в том, что это по дизайну. Это относится к заметке @ noah-callaway о том, что в запросах, вероятно, есть некоторые специфичные для приложения данные, которые не должны быть доступны другим приложениям.

На мой взгляд, это позор, поскольку, поскольку Facebook полностью посвящен обмену данными между друзьями, я думаю, что это добавляет измерение в экосистему, когда приложения могут обмениваться (ограниченной и разумной) информацией друг с другом.

Спасибо за ответы!

Другие вопросы по тегам