Создание профиля профиля Twitter-профиля с идентификатором пользователя Twitter
Есть ли способ создания URL-адреса профиля с идентификатором пользователя или именем экрана? Я храню идентификаторы пользователей в базе данных, но я не хочу сохранять URL-адрес профиля изображения.
изменить
Я тоже не хочу делать апи-звонок. Я хочу поместить user_id в URL-адрес, например
<img src="https://twitter.com/users/profile_pic?user_id=123">
Есть ли url для этого?
Ответы
Ответ 1
с API 1.1 вы можете достичь с помощью этого URL
https://twitter.com/[screen_name]/profile_image?size=mini https://twitter.com/[screen_name]/profile_image?size=normal https://twitter.com/[screen_name]/profile_image?size= больше https://twitter.com/[screen_name]/profile_image?size=original
Официальная твиттер документация Изображения профиля и баннеры
пример
https://twitter.com/TwitterEng/profile_image?size=original
будет перенаправлять на
https://pbs.twimg.com/profile_images/875168599299637248/84CkAq6s.jpg
Ответ 2
Представляем самый простой способ получить изображение профиля Twitter без использования API Twitter:
Использование http://avatars.io/
Как говорит @AlexB, @jfred, он не работает на мобильных устройствах.
И это довольно сложный способ получить перенаправленный URL-адрес, используя общие фреймворки, такие как PHP или JavaScript, на одной странице.
Просто позвоните http://avatars.io/twitter/ruucm
в тег изображения, например,
<img src="https://avatars.io/twitter/ruucm" alt="twt_profile" border="0" width="259"/>
Я протестировал его с Angular 2+, и он работает без проблем.
Ответ 3
Вы можете получить его, используя метод users/show
API Twitter - он делает именно то, что вы описали. Вы даете ему идентификатор или отображаемое имя, и оно возвращает кучу данных, включая profile_image_url
.
Ответ 4
Основываясь на ответе @Cristiana214
Следующий фрагмент PHP можно использовать, чтобы сделать https://twitter.com/[screen_name]/profile_image?size=normal трюк на мобильном устройстве.
Из-за твиттеров перенаправление на мобильную версию ссылок сайта, таких как https://twitter.com/[screen_name]/profile_image?size=normal, нарушается на мобильных устройствах
Таким образом, script получает ответ перенаправления (для аватара пользователя), извлекает адрес, а затем перенаправляет сама страницу
if (!isset($_GET['id'])) $_GET['id'] = 'twitter';
$urlget = curl_init();
curl_setopt($urlget, CURLOPT_URL, 'https://twitter.com/' . $_GET['id'] . '/profile_image?size=normal');
curl_setopt($urlget, CURLOPT_HEADER, true);
curl_setopt($urlget, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($urlget);
preg_match_all("/location: (.*)/", $res, $found);
header('Location: ' . $found[1][0]);
Таким образом, это могут быть обращения как twitteravatar.php? id = twitter, которые (во время написания) перезагружаются до https://pbs.twimg.com/profile_images/767879603977191425/29zfZY6I_normal.jpg p >
Не очень, но работает.
Ответ 5
Avatar.dev - это бесплатная служба API изображений профиля, которая имеет API, позволяющий получить изображение профиля Twitter с идентификатором пользователя или именем пользователя.
Как это
https://free.avatar.dev/twitter?u=156149547
пример
Имя пользователя в Твиттере
<img src="https://free.avatar.dev/twitter?u=notmilobejda&width=80"/>
![twitter?u=notmilobejda&width=80]()
Twitter userId
<img src="https://free.avatar.dev/twitter?u=156149547&width=80"/>
![twitter?u=156149547&width=80]()
Ответ 6
Нет никакого способа сделать это. На самом деле Twitter не предоставляет URL-адрес для этого, как в facebook (https://graph.facebook.com//? Fields = picture)
Проблема заключается в отчете, но статус: "WontFix", посмотрите:
https://code.google.com/p/twitter-api/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Stars%20Type%20Bug%20Status%20Summary%20Opened%20Modified%20Component&groupby=&sort=&id=242#makechanges
Ответ 7
Ну, я использую сложный путь через PHP Dom Parser
include('simple_html_dom.php');
$html = file_get_html('http://twitter.com/mnckry');
$img = array();
foreach($html->find('img.size73') as $e)
$img[] = $e->src;
foreach($html->find('.profile-header-inner') as $e)
$img[] = str_replace("')", "", str_replace("url('", "", $e->{'data-background-image'}));
echo $img[0];//Avatar
echo "<br>";
echo end($img);//ProfileBG
Это даст вам что-то вроде этого;
https://pbs.twimg.com/profile_images/378800000487958092/e04a191de329fcf8d000ca03073ad594_bigger.png
получить 2 других размера; для удаления большой версии, "_bigger" для меньшей версии замените "_bigger" на "_normal"
Ответ 8
С версией 1.1 используйте http://a0.twimg.com/profile_images/XXXXX/afpecvf41m8f0juql78p_normal.png
где XXXXX является идентификатором пользователя