API 1.0では、users/profile_image/:screen_name
例えば : http://api.Twitter.com/1/users/profile_image/EA_FIFA_FRANCE
しかし、API 1.1。ではもう機能しません
解決策はありますか?
さて、ユーザーのプロフィール画像が必要です。 Twitter REST API 1.1 docs をご覧ください。これは、APIに対して行うことができるすべての異なるリクエストのリストです(心配しないで、how実際にこれを後で実行します).
ユーザーのプロフィール画像を取得する方法は複数ありますが、最も注目すべき方法は sers/show です。このドキュメントによると、users/showメソッドは次のとおりです。
必須のuser_idまたはscreen_nameパラメーターで指定されたユーザーに関するさまざまな情報を返します。可能な場合、著者の最新のツイートがインラインで返されます。
まあ、ユーザープロフィール画像はどこかにあるはずですよね?
Users/show urlを使用して、この情報の要求に対する典型的な応答を見てみましょう(例としてプロファイルを使用します)。
多くのデータが通過するため、下から一部を切り取りました。最も重要なことは、必要なものが表示されることです。
これは、アクセスする必要があるprofile_image_urlキーです。
それで、あなたはこれをどのように行うのですか?実際には非常に簡単です。
あなたが正しく指摘したように、2013年6月11日の時点で、認証されていないリクエスト、または1.0 APIへのリクエストは廃止されました。したがって、OAuthは1.1 APIにリクエストを行う方法です。
私はスタックオーバーフローポストを書きました。努力。
使用すると、上記の応答が返されます。投稿の指示に従って、ステップバイステップでライブラリを取得できます here (プロジェクトに含めるファイルは1つだけです)。
基本的に、以前の投稿では、次のことを行う必要があると説明しています。
$settings
配列に入れます上記の投稿(きれいなカラー写真を含む)のステップバイステップの手順に従ったと仮定します。必要なものを取得するために使用するコードを次に示します。
// Require the library file, obviously
require_once('TwitterAPIExchange.php');
// Set up your settings with the keys you get from the dev site
$settings = array(
'oauth_access_token' => "YOUR_ACCESS_TOKEN",
'oauth_access_token_secret' => "YOUR_ACCESS_TOKEN_SECRET",
'consumer_key' => "YOUR_CONSUMER_KEY",
'consumer_secret' => "YOUR_CONSUMER_SECRET"
);
// Chooose the url you want from the docs, this is the users/show
$url = 'https://api.Twitter.com/1.1/users/show.json';
// The request method, according to the docs, is GET, not POST
$requestMethod = 'GET';
// Set up your get string, we're using my screen name here
$getfield = '?screen_name=j7mbo';
// Create the object
$Twitter = new TwitterAPIExchange($settings);
// Make the request and get the response into the $json variable
$json = $Twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
// It's json, so decode it into an array
$result = json_decode($json);
// Access the profile_image_url element in the array
echo $result->profile_image_url;
それはほとんどそれです!とても簡単です。 sers/lookup もあり、これは事実上同じことを行いますが、次のことができます。
User_idおよび/またはscreen_nameパラメーターに渡されるコンマ区切り値で指定された、要求ごとに最大100ユーザーの完全に水和されたユーザーオブジェクトを返します。
複数のユーザーの詳細を取得する必要がある場合は、それを使用しますが、1人のユーザーの詳細のみが必要な場合は、上記のusers/showを使用します。
私はそれが少し物事をクリアしたことを願っています!
この種類のURLを呼び出すことで、Twitterプロフィール画像を取得することもできます。
https://Twitter.com/ [screen_name]/profile_image?size = original
例えば: https://Twitter.com/VancityReynolds/profile_image?size=original
この投稿から情報を得た:
https://twittercommunity.com/t/how-to-get-user-image-original-size-with-api-1-1/10187/14
Twitter API 1.1を使用したいが、リクエストを認証したくないと言います。 認証されていないリクエストはAPI v1.1ではサポートされていません。したがって、APIの変更に適応してください。アップデートを見る:
profile_image_url
リクエストのhttps://api.Twitter.com/1.1/users/show.json
フィールドから画像を取得できます。このメソッドにはid
またはscreen_name
のいずれかが必要です。例えば :
GET https://api.Twitter.com/1.1/users/show.json?screen_name=rsarver
詳細はこちらをご覧ください https://dev.Twitter.com/docs/api/1.1/get/users/show
前の回答とコメントが指摘しているように:
任意の2つを選択します。 3つすべてを使用することはできません。 @Jimboの答えは正しい(そしてそれを行う適切な方法)が、#3は除外します。 #1を捨てることは、時間をさかのぼることを意味します。しかし、#2を捨てて、ソースに直接移動できます。
curl -s https://Twitter.com/EA_FIFA_FRANCE |
sed -ne 's/^.*ProfileAvatar-image.*\(https:[^"]*\).*$/\1/p'
sed
コマンドは、「ProfileAvatar-image」を含む行を見つけ、引用されたURLのように見える部分文字列を出力します。
TwitterはいつでもHTMLを変更する可能性があるため、認証されたAPI呼び出しよりも安定性は劣りますが、OAuthを扱うよりも簡単であり、公式のレート制限はありません!
[〜#〜] php [〜#〜] の翻訳は簡単なはずです。
これを試して
http://api.Twitter.com/1/users/profile_image/{Twitter_account}.xml?size=bigger
API 1.1では、アプリケーションを接続し、次の方法でユーザーを取得することが唯一の方法です。
https://dev.Twitter.com/docs/api/1.1/get/users/show
そして彼の写真の後に検索
profile_image_url