У меня есть адрес электронной почты и вы хотите узнать, есть ли пользователь Facebook, связанный с этим адресом. Если есть, то я хочу получить URL-адрес этой страницы профиля пользователя и сохранить его где-нибудь. У меня не есть приложение facebook, но при необходимости я буду использовать существующие данные учетной записи для входа в facebook и выполнения задачи.
Я думал, что это будет непростая задача, но почему-то это не так. Я прочитал документацию Graph API и там вы найдете инструкции по поиску общедоступных данных. В нем говорится, что формат: https://graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE
Но попытка с адресом электронной почты в параметре q и пользователем в параметре типа без дополнительной информации приводит к выражению OAuthException . Маркер доступа требуется для запроса этого ресурса. Однако, если вы нажмете пример ссылок поиска, Facebook генерирует URL-адрес с указанным токеном доступа, связанным с текущим пользователем. Выполнение поиска с помощью этого токена дает ожидаемые результаты. Но я не могу понять, как получить этот токен доступа к пользовательскому сеансу после входа в систему. Каждый раз, когда я ищу, как получить токен доступа, я нахожу только информацию о приложениях Facebook и получения разрешений для базового или специального доступа к данным. Это, как я уже упоминал, не то, что я ищу, так как у меня нет и не нужно приложение facebook.
Так как Facebook дает мне необходимый токен в примерах ссылок, я думал, что это не должно быть проблемой, чтобы получить его тоже. Или у них есть только из-за домашнего преимущества? Кроме того, Outlook Social Connector Provider для Facebook может извлекать данные Facebook только через адрес электронной почты (и предоставленные данные учетной записи). Поэтому я подумал, что если Microsoft сможет делать это, мне также следует делать простые вещи.
И последнее, но не менее важное: это тем хуже, поскольку я, теоретически и практически, уже могу найти URL-адрес профиля пользователей, просто поиская адрес электронной почты. Мне даже не нужно входить в Facebook. И это не официальный путь API.
Если я выполняю веб-запрос http://www.facebook.com/search.php?init=s:email&[email protected]&type=users
, я получаю ожидаемый результат поиска. Проблема в том, что мне приходится анализировать HTML-код и извлекать URL-адрес (что хорошо), и что страница результатов может быть изменена и может легко сломать мой метод, чтобы извлечь URL-адрес (проблемный).
И есть ли у кого-нибудь представление, какой лучший способ выполнить задание?