Разве нам не всегда нужно получать разрешения на чтение? - PullRequest
0 голосов
/ 21 ноября 2011

Работая с моим приложением или с Graph API Explorer, я узнал, что могу получить доступ к любой информации о ком-либо.Возьмем, к примеру,

 https://graph.facebook.com/btaylor.

Сюда входят темы 'feed' и 'posts', для которых требуется разрешение 'read_stream'.Я могу получить информацию, даже если он не предоставил такое разрешение моему приложению, о котором я знаю.У меня такой вопрос, имеют ли темы «read_stream» недокументированный особый статус, для которого не требуются разрешения?

1 Ответ

2 голосов
/ 23 ноября 2011

Я отвечу на ваши два вопроса отдельно.

Во-первых, разрешения на чтение и чтение не противоречат друг другу.Вам понадобится токен доступа для чтения чьего-либо потока, без исключений.Несоответствие, которое вы наблюдаете, вероятно, связано с наличием маркера доступа в URL.Например,

https://graph.facebook.com/btaylor не должен предоставлять вам ничего, кроме базовой информации, поскольку URL не содержит токена доступа.

https://graph.facebook.com/btaylor?access_token=AAAAAAITEghMBAMFnukHXAQgLGCfnptZAkF41gIDFt7ycPYkRpGic5MoHkpB6CZCaT21PPyQDOjYo7Tn4mGFH7CyNW06kgrZAWbeTVt9YwZDZD покажет вам дополнительныеподробности, потому что он содержит токен доступа.Однако следует понимать, что в определенный момент срок действия маркера доступа истекает, поэтому приведенная выше ссылка может не работать.Эту ссылку с правильным токеном можно найти здесь: http://developers.facebook.com/docs/reference/api/#auth

Просматривая сообщения btaylor, https://graph.facebook.com/btaylor/posts скажет вам, что вам нужен токен доступа, но https://graph.facebook.com/btaylor/posts?access_token=AAAAAAITEghMBAMFnukHXAQgLGCfnptZAkF41gIDFt7ycPYkRpGic5MoHkpB6CZCaT21PPyQDOjYo7Tn4mGFH7CyNW06kgrZAWbeTVt9YwZDZD покажетвам все сообщения.

Возможно, что Graph API Explorer кэширует токен доступа и отправляет его вместе с вашим запросом без вашего ведома, но, похоже, это не так.Вы уверены, что токен доступа отсутствует в поле «Токен доступа»?

Во-вторых, причина, по которой вы можете видеть данные публично в чьем-либо профиле Facebook, заключается в их настройках конфиденциальности Facebook.Настройки конфиденциальности Facebook не коррелируют с разрешениями, запрашиваемыми и предоставляемыми через Graph API.В вашем профиле на Facebook вы можете размещать все, что угодно, но ни одна из них (кроме основной информации) не будет доступна через API.Пользователь должен явно разрешить вашему приложению доступ к своей информации при использовании API.Что касается «почему», то это, вероятно, связано с конфиденциальностью и спамом.Если бы у всех в мире был доступ API ко всей информации, предоставленной человеком публично, вероятно, было бы намного больше спама, только позволяющего просматривать эту информацию на facebook.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...