Подтвердить что ты не робот

Создание профиля профиля Twitter-профиля с идентификатором пользователя Twitter

Есть ли способ создания URL-адреса профиля с идентификатором пользователя или именем экрана? Я храню идентификаторы пользователей в базе данных, но я не хочу сохранять URL-адрес профиля изображения.

изменить
Я тоже не хочу делать апи-звонок. Я хочу поместить user_id в URL-адрес, например

<img src="https://twitter.com/users/profile_pic?user_id=123"> Есть ли url для этого?

4b9b3361

Ответ 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"