41

ユーザー ID またはスクリーン名を使用してプロフィール画像の URL を作成する方法はありますか? ユーザー ID をデータベースに保存していますが、プロフィール画像の URL は保存したくありません。

編集:
私もAPI呼び出しをしたくありません。次のようなURL内にuser_idを入れたい

<img src="https://twitter.com/users/profile_pic?user_id=123">これを行うためのURLはありますか?

4

10 に答える 10

2

@ Cristiana214 の回答に基づく

次の 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=twitter としてアクセスでき、(執筆時点で) https://pbs.twimg.com/profile_images/767879603977191425/29zfZY6I_normal.jpgにリロードされます。

きれいではありませんが、機能します。

于 2017-01-06T23:31:30.257 に答える
-1

それを行う方法はありません。実際、Twitter は Facebook のようにそれを行うための URL を提供していません ( 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

于 2014-08-25T15:05:58.340 に答える
-2

さて、私は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」に置き換えます

于 2014-03-06T12:10:57.580 に答える
-6

バージョン 1.1 では、http://a0.twimg.com/profile_images/XXXXX/afpecvf41m8f0juql78p_normal.png を使用 ます 。XXXXX はユーザー ID です。

于 2013-11-28T10:34:06.460 に答える