web-dev-qa-db-ja.com

Twitter API 1.1で「大きなサイズ」のユーザー画像を取得する方法

人から最後の5つのツイートを取得しようとしています。やりましたが、プロフィール写真が正常に表示されず、解像度が壊れています。そのように。 ! http://i.hizliresim.com/wLQEJZ.jpg

var $Twitter = $('#Twitter');

    $.getJSON('http://www.demo.net/Twitter.php?username=yeniceriozcan&count=5', function(data){
        var total = data.length,
            i = 0;
        $Twitter.html(''); // önce içindekini temizle sonra tweetleri yazdır.
        for ( i; i < total; i++ ){
            var Tweet = data[i].text; // Tweet
            var date = parseTwitterDate(data[i].created_at); // tarih
            var image = data[i].user.profile_image_url; // profil resmi
            var url = 'https://Twitter.com/' + data[i].user.screen_name +'/status/' + data[i].id_str;
            $Twitter.append('<div class="Tweet"><a target="_blank" href="' + url + '"><img src="' + image + '" alt="" class="profile-image" />' + Tweet + '</a> <span class="Tweet-date">(' + date + ')</span></div>');
        }
    });

これは私のコードです。プロフィール写真を撮るために、

var image = data[i].user.profile_image_url;

他のツイートファイルでも

$tweets = $Twitter->get('https://api.Twitter.com/1.1/statuses/user_timeline.json?screen_name='.$username.'&count='.$count);

print json_encode($tweets);

私はこのAPIを使用しました。

通常の解像度では写真を表示できません。どうすれば修正できますか?ありがとう。

18
user2674354

それでもbiggerを使用すると、画像が比較的小さな形式に戻ってしまうことがわかりました。この回答を使用すると、画像のサイズを変更して、歪みのない大きな画像を作成できます。

画像をフルサイズにしたい場合は、「_ normal」を完全に削除してください

http://pbs.twimg.com/profile_images/429221067630972918/ABLBUS9o_normal.jpeg

に行く

http://pbs.twimg.com/profile_images/429221067630972918/ABLBUS9o.jpeg

注:この回答のURLは、Twitterの詳細を反映しないように変更されているため、これらのURLを入力すると「ページが存在しません」と表示されます。

38
simon_smiley

Data [i] .user.profile_image_urlからURLを読み取るときは、「_ normal」を「_bigger」に置き換えます。 Twitterのドキュメントの説明は次のとおりです。

ユーザープロファイルの画像とバナー

23
Joe Mayo

まだこの質問への回答が必要な場合(前の質問はいずれも承認済みの回答としてマークされていないため)、これが私がTwitter API画像のURLサイズ:

APIからURLを取得すると、「http」および「https」のURLが次の形式で返されます。

http:

http://pbs.twimg.com/profile_images/378812345851234567/Ay2SHEYz_normal.png

https:

https://pbs.twimg.com/profile_images/378812345851234567/Ay2SHEYz_normal.png

何らかの理由で、Twitterは48x48 pngで十分だと判断しました。フル解像度が必要な場合は、上記の angryTurtle のように、どちらかのURLから「_normal」タグをremoveする必要があります。これにより、フルサイズの画像のURLがわかります。これを達成するための簡単な回避策の例を次に示します。

/// remove '_normal' from picture url to get full size
        NSString *TWTRPicStringF = [twitterProfilePictureURLStringN stringByReplacingOccurrencesOfString:@"_normal" withString:@""];

うまくいけばこれがあなたを助け、あなたはこれらの1つを受け入れられた回答としてマークして質問を閉じることができます!

[〜#〜] fyi [〜#〜]:Iまた、URLの内容を次のように変更しました上記の提供されたURLのいずれかを使用するときに「ページが存在しない」ことを説明して、自分のTwitter情報を保護します。

11

2017年5月6日更新

profile_image_urlまたはprofile_image_url_httpsを介してユーザープロフィール画像を取得する場合( ユーザープロフィール画像とバナー を参照) 、ファイル名の最後にある「_ normal」を「_ 400x400」に置き換えてみてください。

画像が400x400に縮小され、元のファイルが削除されたようです。

10
pz90