можно ли получить общедоступную ленту на стене facebook, если вы не вошли в систему?

Я спрашиваю, возможно ли получить общедоступные каналы без токена аутентификации? Если я не вошел в Facebook, я все равно могу видеть общедоступные сообщения, вот хороший пример: http://www.facebook.com/adele Я использую facebook graph API следующим образом:

uri ="https://graph.facebook.com/" + this.getString(R.string.wall_id) + "/feed?access_token="+Utility.mFacebook.getAccessToken();

JSONObject json = GetJSON.fromURL(uri);

Если я подключен к FB, я успешно получаю каналы. Нужно ли запрашивать новый токен, когда я не в сети?

спасибо!


person Li3ro    schedule 01.04.2012    source источник


Ответы (4)


Вы можете перейти по адресу: http://www.facebook.com/feeds/page.php?id=[APP_ID]&format=json Например: страница Nike в Facebook – http://www.facebook.com/feeds/page.php?id=15087023444&format=json

Чтобы узнать APP_ID для страницы, перейдите на https://graph.facebook.com/[page_name] и в выводе вы найдете его. например: https://graph.facebook.com/nike - "id": "15087023444"

Подробнее здесь: http://costimuraru.wordpress.com/2011/12/16/facebook-how-to-find-out-a-fan-page-id/

person Costi Muraru    schedule 01.04.2012
comment
Как именно это связано с вопросом? - person Juicy Scripter; 01.04.2012
comment
@JuicyScripter - они правильно описали способ получения сообщений на стене с общедоступной страницы без токена доступа с использованием фида страницы. - person Adam; 01.04.2012
comment
@ Адам, пользователи - это не страницы, и было бы неправильно предполагать, что это сработает для пользователей, потому что это не так! - person Juicy Scripter; 01.04.2012
comment
@ Адам, просто перечитай пост, и я должен извиниться за неправильную его интерпретацию. - person Juicy Scripter; 01.04.2012
comment
@Адам. Я неправильно предположил, что вопрос касается стен пользователей, а не страниц. Я исправил свой ответ, чтобы предоставить информацию об этом случае. Обратите внимание, что это решение будет работать только для страниц (в вопросе и тегах точно не указано, что речь идет о страницах или пользователях). - person Juicy Scripter; 01.04.2012
comment
@JuicyScripter Чтобы ответить на ваш вопрос, я предположил из приведенного примера (facebook.com/adele), что вопрос был о страницах Facebook. Вы правы, это может не сработать для пользователей, но я не это имел в виду. - person Costi Muraru; 02.04.2012
comment
... а вы пробовали uri, опубликованные выше? оба должны предоставить вам сообщения на стене в json (если сообщения на стене на определенной стене общедоступны) - person Li3ro; 02.05.2012
comment
@CostiMuraru Салют Кости! Один вопрос, как далеко это заведет меня? Могу ли я получить, например, фотографии пользователей на стене? Если да, то как? - person Radu; 07.02.2014

Для доступа к feed соединению user вам необходимо read_stream разрешение, что автоматически означает, что к нему не смогут получить доступ неавторизованные пользователи.

Однако вы можете получить доступ к posts соединению user, используя любое действительное access_token, которое включает только собственные сообщения пользователя. При доступе к нему с access_token, отличным от пользователя-владельца, будут возвращены только общедоступные сообщения.

Вы можете использовать приложение access_token для доступа к нему неавторизованных пользователей.

Для страниц feed подключение может осуществляться таким же образом, используя любой допустимый access_token

Кстати, приложение access_token может иметь формат "новый формат". или старый формат APP_ID|APP_SECRET.

person Juicy Scripter    schedule 01.04.2012

Да, вам нужен токен доступа, даже если сообщения являются общедоступными, и вы можете просматривать страницу публично, даже если вы не вошли в Facebook.

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

Однако я хочу отметить, что @Costi Muraru прав в том, что вы можете собирать сообщения страницы через ленту, используя URL-адрес, который они упомянули в своем сообщении.

person Adam    schedule 01.04.2012

+1 Кости Мурару за его красивую опубликованную ссылку: http://www.facebook.com/feeds/page.php?id=15087023444&format=json Я благодарю вас за это, амиго.

Я нашел альтернативу, я использую следующее:

uri = "https://graph.facebook.com/search?q=" + wall_id + "&type=post";

Надеюсь, это поможет кому-нибудь

person Li3ro    schedule 02.04.2012
comment
Этот wall_id совпадает с идентификатором страницы? Я пытаюсь использовать API-интерфейс графа для получения общедоступных сообщений страницы без токена доступа. - person miguelcobain; 20.04.2012
comment
используйте Graph API Explorer: developers.facebook.com/tools/ сделайте несколько тестов, посмотрите, является ли это идентификатором стены или идентификатором страницы. не у всех есть страница. страница — публичное лицо пользователей в фб - person Li3ro; 22.04.2012
comment
Я пытался получить общедоступные сообщения страницы. Я пытался использовать идентификатор страницы, и поиск вернул пустой массив данных. - person miguelcobain; 23.04.2012
comment
Если эта страница настроена как фан-страница FB, вы должны поставить ему лайк. попробуйте это и ответьте с результатами. - person Li3ro; 23.04.2012
comment
Я не думаю, что имеет смысл лайкать эту страницу, так как мне нужно, чтобы запрос был анонимным. Как говорится в заголовках вопросов, когда вы не вошли в систему. Я хотел бы получить все сообщения со страницы без предоставления токена доступа, то есть без аутентифицированного запроса. - person miguelcobain; 02.05.2012