PHPでウェブの世界と繋がろう!
menu
ホーム > PHP と Twitter API V1.1 > Twitter ウェブアプリ v1.1 > PHP と Twitter API V1.1 で OAuth 認証を行う 「タイムライン取得」「呟き(つぶやき)投稿」「ログイン」(API V 1.1)

PHP と Twitter API V1.1 で OAuth 認証を行う 「タイムライン取得」「呟き(つぶやき)投稿」「ログイン」(API V 1.1)

Pocket


Twitter OAuth認証とは

 Twitter OAuth認証とはTwitterの認証方式です。Twitterは元々Basic認証でしたが、セキュリティー面の向上を図るためにOAuth認証へ変更されました。Twitter API V1.1 からは、すべての情報取得にOAuth認証が必要になります。OAuthの仕様は記載されています。


Twitter OAuth認証で何が出来る?

 Twitter application(My applications) へOAuth認証接続することで、Twitter API サービスを利用することが出来ます。Twitter API では、タイムラインの取得、リストの取得、つぶやきの検索、ツイートやリツイートなどの機能が用意されており、これらの機能をウェブアプリケーションやスマートフォンアプリケーションに実装することが出来ます。

詳しくは API Documentation を参照下さい。
Twitter API V1.1 API制限:https://dev.twitter.com/docs/rate-limiting/1.1/limits


Twitter OAuth認証で接続 ・ホームタイムライン取得 ・つぶやき投稿 ・ログイン

※tryphp.netはご自分のドメインに置き換えて読み進めて下さい。


-1- Twitterアプリケーションを登録して「key」と「token」を取得

Twitterアカウントを取得している方は、以下のURLからTwitterアプリケーションの登録が出来ます。

URL:Twitter Applications

Twitterアプリケーションを登録して、「Consumer key」「Consumer secret」「Access token」「Access token secret」を取得してください。Twitterアカウントを取得していない方はTwitterアカウントを登録してからTwitterアプリケーションを登録してください。


-2- Twitterアカウントでログインする

URL:Twitter Applications

username と password を入力してログインしてください。

tw11_001


-3- Create a new application

画面右の「Create a new application」をクリックする。

tw11_002


-4- 各項目を入力する

tw11_003
Name

Twitterアプリケーションの名前です。(ユニーク名)
アプリケーションの紹介や認証を許可する場合などに利用者に表示されます。
アプリケーションに適した名前を付けましょう。
アプリケーション名は既に他の人が使用している場合は登録する事ができません。また、「Twitter」の文字列は使用できません。

Description

Twitterアプリケーションの説明です。
Twitterアプリケーションに適した説明を記入しましょう。

WebSite

Twitterアプリケーションを設置するウェブサイトのURLです。ウェブアプリケーションとして使用する場合はこのURLがサービスサイトになります。

CallbackURL

ウェブアプリケーションとして公開し、ユーザーに認証を求める場合、ログイン後戻るURLになります。

各項目の入力が完了したら、「Yes, I agree」にチェックし、画面一番下の「Create your Twitter application」ボタンを押してアプリケーションを作成してください。


-5- 登録完了

登録が完了すると「Consumer key」「Consumer secret」が取得できます。
テキストなどにコピーしておいて下さい。

tw11_004


-6- Access tokenの取得

次にAccess tokenを生成して取得するのですが、Access tokenを取得する前に、「Application Type」の設定を変更したいと思います。メニューの「Settings」ボタンをクリックしてください。このページに「Application Type」の項目があります。ラジオボタンで3つの選択項目が並んでいますが、「Read, Write and Access direct messages」を選択して下さい。選択が完了したら画面一番したの「Update this Twitter application’s settings」ボタンをクリックしてください。更新が正常に完了すると、「Read, Write and Access direct messages」がチェックされている状態になります。更新後チェックされているか確認してください。こうすることで、ダイレクトメッセージなどのAPIも稼動させることが出来ます。

tw11_006

次に、メニューの「Details」ボタンをクリックして、初期画面に戻って下さい。ページ一番下に、「Recreate my access token」というボタンがあるので、クリックしてください。

tw11_005

Your access token が生成されます。
Access token」「Access token secret」が取得できます。
テキストなどにコピーしておいて下さい。

tw11_007

これでTwitterアプリケーションの登録は完了です。


-7- OAuth認証でTwitterアカウントのホームタイムラインを取得する

 登録したTwitterアプリケーションでTwitterアカウントのホームタイムラインを取得してみましょう。


-8- 動作環境

PHP Version 5以上であること(phpinfo();関数で確認)
cURL support enabledであること(phpinfo();関数で確認)


-9- Twitter OAuth認証を利用するためのスクリプトをダウンロード

 「github」サイトで「abraham」さんが提供しているOAuthライブラリ「twitteroauth」を使用してみます。(この部分をご自分で作成している方もいらっしゃいまづが大分大変なようです。)
以下のURLから「バージョン0.2.0」ファイルをダウンロードしてください。
「twitteroauth」の中に二つのファイルがあります。
twitteroauth/OAuth.php
twitteroauth/twitteroauth.php
これらを使用します。

URL:https://github.com/abraham/twitteroauth
ファイル:https://github.com/abraham/twitteroauth/tree/master/twitteroauth


-10- ファイルのアップロード

ダウンロードした「OAuth.php」ファイルと「twitteroauth.php」ファイルを利用します。
ドキュメントルート直下に「twitteroauth」フォルダを作成して、そのフォルダの中に「OAuth.php」「twitteroauth.php」をアップロードしてください。
(ドキュメントルートとはウェブ上に公開するルートディレクトリ(一番上の階層)のことです。)

本サイトの例:
http://www.tryphp.net/twitteroauth/OAuth.php
http://www.tryphp.net/twitteroauth/twitteroauth.php


-11- ホームタイムライン取得のサンプルコード

  • hometimeline.php」というファイルを作成して先ほどアップロードしたファイルと同じ階層にアップロードしてください。
  • 本サイトの例:
    http://www.tryphp.net/twitteroauth/hometimeline.php
    http://www.tryphp.net/twitteroauth/OAuth.php
    http://www.tryphp.net/twitteroauth/twitteroauth.php
  • 「hometimeline.php」には以下のコードを記述して下さい。「*******」部分の「key」や「token」には先ほど取得してテキストなどにコピーしたコードを入力して下さい。
  • Twitterアカウントのホームタイムラインが取得できます。
    – サンプル Click Here ! –


    -12- つぶやき投稿のサンプルコード

  • tweetpost.php」というファイルを作成して先ほどアップロードしたファイルと同じ階層にアップロードしてください。
  • 本サイトの例:
    http://www.tryphp.net/twitteroauth/tweetpost.php
  • 「tweetpost.php」には以下のコードを記述して下さい。「*******」部分の「key」や「token」には先ほど取得してテキストなどにコピーしたコードを入力して下さい。
  • 登録したTwitterアプリケーション(My applications)の「Settings」を「Settings」→「Application type」→「Read, Write and Access direct messages」にして下さい。この設定にしないとAPIによる書き込みが出来ません。
    Twitterアプリケーション(My applications)
  • つぶやきを投稿する
    – サンプル Click Here ! –

    以下のエラーが表示された場合は2重投稿のエラーです。同じつぶやき内容が弾かれているので違う内容をつぶやいて下さい。

     /1/statuses/update.xml Status is a duplicate. 
    


    -12- ログインのサンプルコード

  • login.php」「logout.php」「callback.php」というファイルを作成して先ほどアップロードしたファイルと同じ階層にアップロードしてください。
  • 本サイトの例:
    http://www.tryphp.net/twitteroauth/login.php
    http://www.tryphp.net/twitteroauth/logout.php
    http://www.tryphp.net/twitteroauth/callback.php
    http://www.tryphp.net/twitteroauth/OAuth.php
    http://www.tryphp.net/twitteroauth/twitteroauth.php
  • 各ファイルには以下で紹介するサンプルコードを記述して下さい。「*******」部分の「key」や「token」にはTwitter Applicationで 取得したコードを入力して下さい。
  • login.php の $sCallBackUrl にはコールバック(ログイン後戻るページ)するURLを入力して下さい。また、Twitterアプリケーションの「Callback URL」もログイン後に戻るウェブサイトのURLを入力して下さい。
  • login.php

    logout.php

    callback.php

    ログイン→ID、PASSWORD入力→連携アプリを認証→ログイン成功→ログアウト
    – サンプル Click Here ! –


    これで完了です。
    その他様々なAPI機能が提供されているので是非試してみて下さい。
    他のAPIの利用
    API Documentation


    タグ(=記事関連ワード)

    日付

    投稿日:2013年10月25日
    最終更新日:2017年03月20日

    関連記事

    このカテゴリの他のページ

    この記事へのコメント

    トラックバックurl

    http://www.tryphp.net/twitterapiv11_webapp/trackback/