有没有什么方法可以用用户ID或屏幕名称构建个人资料图片网址?我将用户标识存储在数据库中,但我不想存储配置文件图像url。使用Twitter用户ID构建Twitter个人资料图片网址
编辑:
我也不想打api电话了。我想把user_id放在一个url内,如
<img src="https://twitter.com/users/profile_pic?user_id=123">
有没有一个url可以做到这一点?
有没有什么方法可以用用户ID或屏幕名称构建个人资料图片网址?我将用户标识存储在数据库中,但我不想存储配置文件图像url。使用Twitter用户ID构建Twitter个人资料图片网址
编辑:
我也不想打api电话了。我想把user_id放在一个url内,如
<img src="https://twitter.com/users/profile_pic?user_id=123">
有没有一个url可以做到这一点?
你可以使用users/show
method of the Twitter API得到它 - 它确实如你所描述的那样。您给它一个ID或屏幕名称,它会返回一堆数据,包括profile_image_url
。
随着1.1版本,使用 http://a0.twimg.com/profile_images/XXXXX/afpecvf41m8f0juql78p_normal.png 其中XXXXX是通过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
这会给你这样的用户标识
“_normal.png”之前的第二个散列也是唯一的......这不起作用。 –
嗯,我用取巧的方法; https://pbs.twimg.com/profile_images/378800000487958092/e04a191de329fcf8d000ca03073ad594_bigger.png
得到2个其他大小;对于大版本删除,“_bigger”替换为“_bigger”替换为“_normal”
没有办法做到这一点。其实微博不提供的URL来,像Facebook并(https://graph.facebook.com/ /场=画面?)
的问题报告,但状态为:“WontFix”,我们来看一看:
与API 1.1,你可以使用取得了这个网址
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=bigger https://twitter.com/[screen_name]/profile_image?size=original
Official twitter documentation Profile Images and Banners
例
https://twitter.com/TwitterEng/profile_image?size=original
将重定向到
https://pbs.twimg.com/profile_images/2284174594/apcu4c9tu2zkefnev0jt.png
请注意,如果您在移动浏览器上执行此操作,它将无法正确重定向。部分twitter试图将所有人重定向到m.twitter.com – jfred
注意!如果你这样做并且screen_name已经改变,那么twitter会将你的mage请求重定向到主页。如果你将这些内容直接插入 –
是否有类似于背景图片的网址,那么你会觉得混乱?它不像你想象的那样是profile_background_image(它匹配API返回的关键字)。 –
基于由@Cris答案tiana214
以下PHP代码片段可用于使https://twitter.com/[screen_name]/profile_image?size=normal技巧适用于移动设备。
由于Twitter的重定向到网站的链接,如https://twitter.com/[screen_name]/profile_image?size=normal在流动装置
因此脚本获取重定向响应(用户头像)破碎的移动版本萃取物,然后在地址重定向页面本身
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 =叽叽喳喳它(在写作时)重新加载到https://pbs.twimg.com/profile_images/767879603977191425/29zfZY6I_normal.jpg
不漂亮,但工作。
介绍最简单的方式来获取没有Twitter API的Twitter个人资料图片。
由于@AlexB,@jfred说,它无法在移动设备在所有的工作。
这是一个相当于硬方式来获取重定向的URL使用通用框架PHP或Javascript在您的单一页面。
只需在图像标签上拨打http://avatars.io/twitter/ruucm
即可。
像
<img src="https://avatars.io/twitter/ruucm" alt="twt_profile" border="0" width="259"/>
我测试过它的角2+和它的作品,但任何问题
这很不错。感谢分享关于avatars.io! – BarryMode
太棒了!非常感谢 –
我不想做一个API调用了。我想把user_id放在一个url中,如 '' 是否有可能? – Tahtakafa
就我所知没有办法 - Twitter在过去几年一直很厌恶他们的API – dnet