重要な注意: 2018年半ば以降、Twitter APIトークンを取得するプロセスは、より官僚的なものになりました。これは、上で私を撮影した1週労働 APIトークンのセットを提供するために、これはオーバーと君たちと女の子のためのオープンソースプロジェクトである120万のインストールが理論的に高い優先順位でなければなりませんPackagist上とのGithub上の1.6K星、 。
Twitter APIを使用して作業する必要がある場合は、この非常に長い待機時間を考慮する必要があります。また、トークンを取得するプロセスは瞬時なので、FacebookやInstagramなどの他のソーシャルメディアへの道も検討し、これらのオプションを提供します。
では、Twitter v1.1 APIを使用したいですか?
注:これらのファイルはGitHubにあります。
バージョン1.0 はまもなく廃止され、不正なリクエストは許可されなくなります。それで、あなたがあなたの人生をより簡単にするPHPクラスとともに、あなたがそれだけをするのを助けるために、これは投稿です
1.開発者アカウントを作成する: Twitterで開発者アカウントを設定します
公式Twitter開発者サイトにアクセスして、開発者アカウントに登録する必要があります。これは、v1.1 APIのリクエストを行うための無料で必要な手順です。
2.アプリケーションの作成: Twitter開発者サイトでアプリケーションを作成します
何?認証されていないリクエストを行うことができると思いましたか?Twitterのv1.1 APIでは使用できません。http://dev.twitter.com/appsにアクセスし、[Create Application]ボタンをクリックする必要があります。
このページで、必要な詳細を入力します。スパムフォロワーを取り除くために大量のブロックリクエストを作成したかっただけなので、私にとっては問題ではありませんでした。重要なのは、アプリケーションで使用する一意のキーのセットを取得することです。
したがって、アプリケーションを作成するポイントは、自分自身(およびTwitter)に一連のキーを提供することです。これらは:
- 消費者キー
- 消費者の秘密
- アクセストークン
- アクセストークンシークレット
これらのトークンの目的について、ここに少し情報があります。
3.アクセストークンを作成する:リクエストを成功させるには、これらが必要です。
OAuthはいくつかのトークンを要求します。したがって、それらを生成する必要があります。
下部にある[アクセストークンを作成]をクリックします。次に、もう一度一番下までスクロールすると、新しく生成されたキーがいくつかあります。API呼び出しのために、このページから以前にラベル付けされた4つのキーを取得する必要があるため、どこかにそれらをメモしてください。
4.アクセスレベルを変更します。読み取り専用にしたくないですか。
このAPIを適切に使用する場合、GETリクエストを使用して標準のデータ取得以外のことを行う場合は、設定を読み取りと書き込みに変更する必要があります。
ページの上部にある[設定]タブを選択します。
アプリケーションに読み取り/書き込みアクセス権を付与し、下部にある「更新」をクリックします。
あなたはできるアプリケーションのアクセス許可モデルの詳細を読むツイッターをここで使用していること。
5. APIにアクセスするためのコードを記述します:私はあなたのためにほとんどそれをしました
上記のコードをいくつかの変更と変更を加えてPHPクラスに結合したので、必要なリクエストを行うのは本当に簡単です。
これはOAuthとTwitter v1.1 APIを使用しており、私が作成したクラスは以下にあります。
require_once('TwitterAPIExchange.php');
/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
'oauth_access_token' => "YOUR_OAUTH_ACCESS_TOKEN",
'oauth_access_token_secret' => "YOUR_OAUTH_ACCESS_TOKEN_SECRET",
'consumer_key' => "YOUR_CONSUMER_KEY",
'consumer_secret' => "YOUR_CONSUMER_SECRET"
);
上記のアプリケーションから取得したキーをそれぞれのスペースに配置してください。
次に、リクエストを送信するURLを選択する必要があります。Twitterには、URLとリクエストタイプ(POSTまたはGET)の選択に役立つAPIドキュメントがあります。
/** URL for REST request, see: https://dev.twitter.com/docs/api/1.1/ **/
$url = 'https://api.twitter.com/1.1/blocks/create.json';
$requestMethod = 'POST';
ドキュメントでは、各URLに渡すことができるものを示しています。上記のような「ブロック」URLを使用している場合は、次のPOSTパラメータを渡すことができます。
/** POST fields required by the URL above. See relevant docs as above **/
$postfields = array(
'screen_name' => 'usernameToBlock',
'skip_status' => '1'
);
APIで実行する処理を設定したので、実際のリクエストを作成します。
/** Perform the request and echo the response **/
$twitter = new TwitterAPIExchange($settings);
echo $twitter->buildOauth($url, $requestMethod)
->setPostfields($postfields)
->performRequest();
POSTリクエストの場合は、これで完了です。
以下のためのGET要求、それは少し違うのです。次に例を示します。
/** Note: Set the GET field BEFORE calling buildOauth(); **/
$url = 'https://api.twitter.com/1.1/followers/ids.json';
$getfield = '?username=J7mbo';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
最後のコード例:フォロワーのリストに対する単純なGETリクエストの場合。
$url = 'https://api.twitter.com/1.1/followers/list.json';
$getfield = '?username=J7mbo&skip_status=1';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
私はこれらのファイルを@ lackovic10と@riversへのクレジットでGitHubに配置しました!私は誰かがそれが役に立つと思うことを望みます。私はそうしました(ループでの一括ブロッキングに使用しました)。
また、WindowsでSSL証明書に問題がある場合は、この投稿を参照してください。このライブラリは内部でcURLを使用するため、おそらくcURL証明書が設定されていることを確認する必要があります。Googleもあなたの友達です。