2012-04-08 6 views
1

Если вы используете API-интерфейс Facebook, вы можете увидеть всю общедоступную информацию о ком-то, если этот человек установил эту информацию публично, вам нужно всего лишь несколько вещей: открыть браузер, войти в систему к Facebook и знать, что пользователь ID пользователя #, например, Марк Цукерберг - основатель facebook имеет идентификатор пользователя № 4, поэтому перейдите по ссылке: https://graph.facebook.com/4 => вы можете увидеть базовую информацию, такую ​​как имя, возраст, местоположение .... (представьте что вы меняете i в _ https://graph.facebook.com/i с i от 1 до 1 миллиона, вы можете видеть информацию о миллионе пользователя при условии, если они установили свою информацию публично)Как получить постоянный токен доступа Facebook, используя java

или пойти на эту ссылку вы можете увидеть больше информации, например, о фаворитах и ​​образовании ... _https:? //graph.facebook.com/4 access_token = XXX с XXX это уникальный код, он меняется каждый раз, когда вы войти в систему, чтобы Facebook (см больше в http://developers.facebook.com/docs/reference/api/)

Моя цель используя основной java-url, чтобы перейти к этой ссылке и получить всю информацию (в основном это текст) и сохранить их в текстовом файле, с помощью _https: //graph.facebook.com/4 нет проблем, но со второй проблемой ссылок является код доступа к токенам, который равен XXX - изменяется каждый раз или истекает через 20-30 минут, поэтому я не могу запустить свою программу дольше, чтобы получить больше данных. Вопрос в том, есть ли в любом случае, чтобы получить токен постоянного доступа или продлить его на более длительное время, помните, что я использую только небольшую программу java, ничего общего с приложением Facebook или чем-то еще. Заранее спасибо!

ответ

1

К сожалению, вы не можете получить токен постоянного доступа, но вместо этого вы можете поймать ошибку, когда токен доступа истек, и запросить новый. Также вы можете прочитать условия использования facebook, чтобы убедиться, что вы не нарушаете его.

+0

ОК, так что не получилось получить постоянный код, понял, это то, о чем я думаю. Есть ли у вас какие-либо идеи или полезные ссылки, как обращаться с новым токеном доступа каждый раз, когда вы обнаруживаете ошибку? Те ссылки, которые я пытался найти, выглядят как рассчитанные на приложение Facebook, которое не в моем случае. Этот набор данных, который я собираю, предназначен только для целей статистики, личная информация не публикуется или не используется в коммерческих целях, например: я покажу вам, что у нас есть 30% людей в возрасте до 25 лет, которые живут в Америке, изучают Информационную систему - ЖЕНСКИЕ ...... и что-то в этом роде. –

+0

Извините, что нет. Я думаю, вы можете сделать это только в том случае, если работаете с приложением facebook. (Может быть, не было развернуто обходное решение, о котором я не знаю). –

0

не может получить токен постоянного доступа, но его можно продлить после истечения срока его действия: That статья - путь. Магия URL является:

https://www.facebook.com/dialog/oauth/?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URL&state=YOUR_STATE_VALUE&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES 
  • client_id
    ID вашего приложения. Вы должны зарегистрировать приложение facebook, даже если вы работаете «в автономном режиме» с Java или такими, но - нет необходимости на самом деле программировать приложение. Просто зарегистрируйте приложение, чтобы получить фиксированный идентификатор приложения (вам это нужно здесь), и все будет в порядке.
  • redirect_uri
    Это важный шаг - facebook перенаправляет на uri, заданный в redirect_uri, и добавляет к этому uri «#access_token = ...». Вы можете разобрать, что URI для получения маркеров:

вызова по ссылке выше с вебом-браузером, используйте http://localhost как redirect_uri и вы будете в порядке. Браузер попытается вызвать http://localhost#access_token=.... и, очевидно, сработает, но вы можете проанализировать URL-адрес, чтобы получить токен. Это не очень простой процесс, но он работает для меня.

+0

Это работало для вас? –

1

Вы можете продлить срок службы вашего токена доступа до 60 дней. Вы можете пройти через это:

https://developers.facebook.com/docs/facebook-login/access-tokens/

Если вы сделаете следующий вызов с вашей стороны сервера, Facebook вернет вам маркер доступа, который будет действителен в течение 2-х месяцев (расширенный маркер доступа):

GET /oauth/access_token? 
    grant_type=fb_exchange_token&   
    client_id={app-id}& 
    client_secret={app-secret}& 
    fb_exchange_token={short-lived-token} 
Смежные вопросы