Я работаю над CMS, которая выбирает изображение профиля пользователя с его URL в Facebook (то есть http://facebook.com/users_unique_url ). Как я могу это сделать? Существует ли вызов API Faceboook, который выбирает URL-адрес изображения профиля пользователя, и пользователю не нужно разрешать приложение?
257
?type=large
можно добавить еще одну полезную строку запроса. Рекомендую придумать совершенно лучший ответ, чем скриншот, который я печатал, кстати, :).<img src="//graph.facebook.com/sarfraz.anees/picture" />
если вы переключаетесь между HTTP и HTTPS ... протокол обнаруживается браузером, и вы не получите предупреждения о смешанном содержимом по HTTPS.Показывать:
50x50 пикселей
Ширина 200 пикселей
Сохранить (используя PHP)
ПРИМЕЧАНИЕ: не используйте это . Смотрите @ комментарий навсегда ниже.
Где $ fid - это ваш идентификатор пользователя на Facebook.
ПРИМЕЧАНИЕ. В случае изображений, помеченных как «18+», вам потребуется действительный токен доступа от пользователя 18+:
ОБНОВЛЕНИЕ 2015:
Graph API v2.0 не может быть запрошен с использованием имен пользователей, вы должны использовать
userId
всегда.источник
ОБНОВЛЕНИЕ :
Начиная с конца августа 2012 года, API был обновлен, чтобы вы могли получать изображения профиля пользователя в различных размерах. Добавьте необязательные поля ширины и высоты в качестве параметров URL:
где
WIDTH
иHEIGHT
ваши запрошенные значения измерений.Это вернет изображение профиля с минимальным размером
WIDTH
xHEIGHT
при попытке сохранить соотношение сторон. Например,возвращается
КОНЕЦ ОБНОВЛЕНИЯ
Чтобы получить изображение профиля пользователя, позвоните
где
USER_ID
может быть номер идентификатора пользователя или имя пользователя.Чтобы получить изображение профиля пользователя определенного размера, позвоните
где
SIZE
должно быть заменено одним из словв зависимости от размера, который вы хотите.
Этот вызов вернет URL-адрес одного изображения, размер которого зависит от выбранного вами параметра типа.
Например:
возвращает URL для маленькой версии изображения.
API указывает только максимальный размер для изображений профиля, а не фактический размер.
Квадрат:
Маленький
Нормальный
большой
Если вы позвоните по умолчанию USER_ID / picture, вы получите квадратный тип.
ПОЯСНЕНИЯ
Если вы звоните (согласно приведенному выше примеру)
он вернет JSON- ответ, если вы используете один из методов запроса Facebook SDK . В противном случае он вернет само изображение. Чтобы всегда получать JSON, добавьте:
вот так:
источник
&redirect=false
возможность вернуть данные JSON вместо перенаправления на изображениеЧтобы получить URL изображения, а не бинарный контент:
Вы должны использовать свой идентификатор FACEBOOK, а не имя пользователя. Вы можете получить свой идентификатор Facebook там:
http://findmyfbid.com/
источник
Простой однострочный код для сохранения изображения профиля полного размера на вашем сервере.
Это будет работать, только если openssl включен в php.ini.
источник
Добавил это как комментарий к принятому ответу, но чувствовал, что заслуживает более длинного объяснения. Начиная примерно с апреля 2015 года, этот показатель, вероятно, будет повышен несколько раз.
Начиная с V2 графика api принятый ответ больше не работает с использованием имени пользователя. Так что теперь вам сначала нужен идентификатор пользователя, и вы больше не можете использовать имя пользователя для его получения. Чтобы еще больше усложнить ситуацию, в целях конфиденциальности Facebook теперь меняет идентификатор пользователя для каждого приложения (см. Https://developers.facebook.com/docs/graph-api/reference/v2.2/user/ и https: //developers.facebook .com / docs / apps / upgradeing / # upgradeding_v2_0_user_ids ), поэтому вам потребуется какая-то надлежащая аутентификация для получения идентификатора пользователя, который вы можете использовать. Технически фотография профиля все еще общедоступна и доступна по адресу / userid / picture (см. Документы по адресу https://developers.facebook.com/docs/graph-api/reference/v2.0/user/picture и в этом примере для пользователя: http: //graph.facebook.com/v2.2/4/picture?redirect=0) однако выяснение стандартного идентификатора пользователя пользователя кажется невозможным только на основании его профиля - ваше приложение должно было бы заставить их одобрить взаимодействие с приложением, что в моем случае использования (просто показ профиля изображения рядом с их ссылкой на профиль FB) является излишним.
Если кто-то нашел способ получить изображение профиля на основе имени пользователя или, альтернативно, как получить идентификатор пользователя (даже альтернативный) для получения изображения профиля, пожалуйста, поделитесь! В то же время старый URL-адрес графика все еще работает до апреля 2015 года.
источник
Одним из способов является использование кода Гамлета, размещенного в его ответе:
Сохранить как
curl.php
Тогда в вашем файле:
Я думал, что опубликую это, потому что мне потребовалось немного времени, чтобы выяснить подробности ... Несмотря на то, что изображения профиля являются общедоступными, вам все равно нужно иметь токен доступа, чтобы получить его, когда вы скручиваете его.
источник
Есть способ сделать это;)
Благодаря " http://it.toolbox.com/wiki/index.php/Use_curl_from_PHP_-_processing_response_headers ":
источник
Рабочее решение PHP (HTTP GET) с апреля 2015 года (без PHP 5 SDK):
Вы можете изменить тип в параметре:
Квадрат:
Маленький
Нормальный
большой
источник
Я думал - может быть, ID будет полезным инструментом. Каждый раз, когда пользователь создает новую учетную запись, он должен получить более высокий идентификатор. Я гуглил и обнаружил, что есть метод для оценки даты создания учетной записи по ID, и Масуд Сейфи из metadatascience.com собрал некоторые хорошие данные об этом.
Прочитайте эту статью:
http://metadatascience.com/2013/03/11/inferring-facebook-account-creation-date-from-facebook-user-id/
И вот несколько идентификаторов для скачивания:
http://metadatascience.com/2013/03/14/lookup-table-for-inferring-facebook-account-creation-date-from-facebook-user-id/
источник
Сообщение в блоге « Возьмите изображение графического объекта Facebook» может предложить другую форму решения. Используйте код из учебника вместе с API Graph Facebook и его библиотекой PHP SDK.
... И старайтесь не использовать file_get_contents (если вы не готовы столкнуться с последствиями - см. File_get_contents против curl ).
источник
Вас беспокоит размер картинки профиля? во время реализации входа в систему с Facebook с использованием PHP. Мы покажем вам простой способ получить большое изображение профиля в Facebook PHP SDK. Также вы можете получить изображение нестандартного размера в профиле Facebook.
Установите размер изображения профиля, используя следующую строку кода.
$ userProfile = $ facebook-> api ('/ me? fields = picture.width (400) .height (400)');
проверьте этот пост: http: //www.codexworld.com/how-to-guides/get-large-size-profile-picture-in-facebook-php-sdk/
источник
@NaturalBornCamper,
Хороший код! Вот четкая функция кода для такого процесса!
Это вернет URL необработанного изображения аватара Facebook. Не стесняйтесь делать то, что вы хотите с ним тогда!
источник
Вы можете получить URI профиля через онлайн инструмент поиска идентификатора Facebook
Вы также можете передать тип param с возможными значениями small, normal, large, square.
Обратитесь к официальной документации
источник