menu
ホーム > PHP と Twitter > Twitter ウェブアプリ > PHP で Twitter OAuth 認証 「タイムライン取得」「つぶやき投稿」「ログイン」

PHP で Twitter OAuth 認証 「タイムライン取得」「つぶやき投稿」「ログイン」

Pocket

[ Twitter API V1.1 対応はこちら! ]


Twitter OAuth認証とは

 Twitter OAuth認証とはTwitterの認証方式です。Twitterは元々Basic認証でしたが、セキュリティー面の向上を図るためにOAuth認証へ変更されました。OAuthの仕様は記載されています。


Twitter OAuth認証で何が出来る?

 TwitterへOAuth認証で接続することで、Twitter API サービスを利用した様々なことが出来きるようになります。タイムラインの取得、つぶやきの検索、ツイートやリツイートなど、詳しくは Twitter Developer Documentation を参照下さい。


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

※本ページの説明の「wepicks.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アカウントでログインする


-3- Create a new application

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


-4- 各項目を入力する


Name

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

Description

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

WebSite

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

CallbackURL

ウェブアプリケーションとしてOAuthを利用する際に、認証後にジャンプする先のURLを指定します。

上記を入力して進んで下さい。


-5- 登録完了


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


-6- Access tokenの取得


画面下の「Create my access token」ボタンをクリックしてください。
Access token」「Access token secret」が取得できます。
テキストなどにコピーしておいて下さい。

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


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

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


-8- 動作環境

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


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

本サイトで使用しているサンプルコード一式です。twitteroauth.zip(78.7 KB)

「github」サイトで「abraham」さんが提供しているOAuthライブラリ「twitteroauth」を使用しています。(この部分をご自分で作成している方もいらっしゃいまづが大分大変なようです。)
「twitteroauth」の中に2つのファイルがあります。
twitteroauth/OAuth.php
twitteroauth/twitteroauth.php
これらを使用します。
以下のURLから最新版ファイルをダウンロードできます。
本ページで使用しているサンプルコードとは異なります。
ダウンロード:https://github.com/abraham/twitteroauth


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

 ダウンロードしたファイルを解凍すると「twitteroauth」フォルダがあるので、フォルダの中にある「OAuth.php」ファイルと「twitteroauth.php」ファイルを利用します。
ドキュメントルート直下に「twitteroauth」フォルダを作成して、そのフォルダの中に「OAuth.php」「twitteroauth.php」をアップロードしてください。
本サイトの例:
http://wepicks.net/twitteroauth/OAuth.php
http://wepicks.net/twitteroauth/twitteroauth.php


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

  • 「hometimeline.php」というファイルを作成して先ほどアップロードしたファイルと同じ階層にアップロードしてください。
  • 本サイトの例:http://wepicks.net/twitteroauth/hometimeline.php
  • 「hometimeline.php」には以下のコードを記述して下さい。「*******」部分の「key」や「token」には先ほど取得してテキストなどにコピーしたコードを入力して下さい。

– サンプル Click Here ! –
Twitterアカウントのホームタイムラインが取得できます。


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

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

つぶやきを投稿する
– サンプル Click Here ! –

タイムラインを表示する
– サンプル Click Here ! –

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

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


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

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

login.php

logout.php

callback.php

ログインする
– サンプル Click Here ! –


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

タグ: , , ,

日付

投稿日:2017年5月15日
最終更新日:2017年05月17日

関連記事

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

この記事へのコメント

トラックバックurl

http://wepicks.net/utopics-phptwitteroauth1/trackback/