ナナエフ

同人ゲームサークル『7-FIELD』制作ブログ  -ゲーム制作やイベント参加などの活動情報 + 雑記-

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Twitterのbot制作④ <PHPツイート実行1>

tetsuwoです。 【 twitter


薄鈍アドベントの体験版公開と、DL販売中であることについて

折角Twitterのアカウントもある事なので、勉強を兼ねて

自動ツイートさせるbotを自作してみたいと思います。
 

─ ※過去参照 ───────────────────

 12/09/07 自作botの作成手順

 12/09/08 PHP実行環境構築1

 12/09/10 PHP実行環境構築2

─ ※自作手順 ───────────────────

 1.Apacheにて、ローカルPCをサーバ化
 
 2.PHP言語にて簡易的なツイートプログラム作成
 
 3.Apacheサーバ経由でプログラム実行し、ツイート確認
 
 4.PHPにてツイート時刻設定
 
 5.定時ツイート実現!

──────────────────────────


結果から申し上げますと、ツイートに失敗しておりますので

現状分かった事も含めて残しておきたいと思います。


<2'.ツイート失敗メモ> ※実施の必要はありません
 
 ①ツイートプログラムの作成
 
   こちらの「PHP5以上」を参考にしてphpファイルを作成・編集し、所定の位置に格納します。
   
   ファイル名は「tweet.php」としておきます。
   
   【 phpファイル編集内容 】
     ・「your username」を、twitterのID(例:7F_tetsuwo)に変更
     
     ・「your password」を、twitterのログインパスワードに変更
     
     ・「message」を、ツイートするテキストに変更
   
   【 Win7デフォルト格納先 】
     C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs


 ②PHP動作確認

   ①で作成したファイルを動作させます。
   
   「http://localhost/tweet.php」にアクセスするとツイートされるはずです。
   
   …が、エラーが表示されました。多少短縮したものですが下記となります。
   
   ─<エラー内容>─────────────────────────────
   Warning:
    file_get_contents(http://twitter.com/statuses/update.xml?status=ツイート文)
    :failed to open stream: HTTP request failed! HTTP/1.0 401 Unauthorized in
    C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\tweet.php
    on line 行数
   ─────────────────────────────────────
   
   
 ③エラー原因
 
   twitterへのログインに失敗しております。
   
   上記プログラムでは「Basic認証」と言う方法でログインを試みておりますが
   
   2010年6月までしか使えない方法でした。
   
   2010年7月以降は「OAuth認証」と言う方法でログインします。
   
   
   
   ①で紹介したサイト以外にも、Basic認証方式でログインするプログラムを
   
   紹介しているページは多々ありましたのでお気をつけ下さい。
   
   次の項目からは、前回の続きとなります。

──────────────────────────────────────


<2.PHP言語にて簡易的なツイートプログラム作成>

 ⑩twitterへ、OAuthクライアントを登録
 
   twitterに「何のアプリケーションで、OAuth認証を用いたログインをするか」
   
   を、このサイトで登録する必要があります。
   

   ・アプリ登録
   
    「Create a new application」をクリックし、下記の情報を入力して続行します。
   
      Name … アプリケーション名(例:7F_tetsuwo_bot)※日本語可能
    
      Description … アプリケーション説明(例:7-FIELD_tetsuwo自作bot用PHP)
    
      WebSite … bot化するアカウントのアドレス(例:https://twitter.com/7F_tetsuwo)
   
   
   ・登録ID/PW確認
   
    登録完了しましたら、「OAuth settings」に表示されている
   
    「Consumer key」と「Consumer secret」が「ID/PW」になるのでをメモします。
   
   
   ・Settingsタブの情報を編集します。
   
    下記のように編集します。
    
      Application Icon : アプリケーションのアイコンで、画像ファイルを自由に設定可
      
      Application Type : アプリケーションの権限なので「Read and Write」を選択
      
      Update this Twitter application's settings : 適応するためにチェックを入れます。
   
   
   ・使用するためのID/PW確認
   
    上記「登録ID/PW」とは別に、アプリケーションを使用するためのID/PWが必要となります。
    
    こちらにアクセスし、登録したアプリケーションを選択します。
    
    「Create My Access Token」という項目をクリックすると画面が更新され
    
    「Access Token」と「Access Token Secret」が「ID/PW」になるのでメモします。
 
 
 ⑪phpからOAuth認証を行う準備
 
   abraham様ご提供の、OAuthのライブラリ「twitteroauth」を使用します。
   
   一般公開されておりますので、こちらから最新版「0.2.0-beta3.zip」をダウンロードし
   
   「OAuth.php」と「twitteroauth.php」のみを使用するので、php格納場所に移動します。
   
   
   
   
 ⑫ツイートプログラムの作成(OAuth認証)

   下記を参考に「tweet.php」を作成します。

─<編集内容────────────────────
<?php
  #phpファイル格納場所の絶対パス
  $path = "C:/Program Files (x86)/~~/htdocs/";

  #twitteroauth.phpの読み込み
  require_once($path."twitteroauth.php");

  #AOuth登録ID/PW
  $consumer_key = "●●";
  $consumer_secret = "▲▲";

  #AOuth使用ID/PW
  $access_token = "○○";
  $access_token_secret = "△△";


  #OAuthオブジェクト生成
  $to = new TwitterOAuth(
    $consumer_key,$consumer_secret,
    $access_token,$access_token_secret);

  #ツイート実施
  $message = "ツイートするテキスト";
  $req = $to->OAuthRequest(
    "http://api.twitter.com/1/statuses/update.xml",
    "POST",array("status"=>$message));

  header("Content-Type: application/xml");
  echo $req;
?>
──────────────────────────


 ⑬PHP動作確認
 
   ⑫で作成したファイルを動作させます。
   
   「http://localhost/tweet.php」にアクセスするとツイートされるはずです。
   
   …が、またしてもエラーが表示されました。多少短縮したものですが下記となります。
   
   ─<エラー内容>─────────────────────────────
   Fatal error:
    Call to undefined function curl_init()
    in C:\Program Files (x86)\~~\tweet.php
    on line 行数
   ─────────────────────────────────────
   
   
  【 エラー原因 】
 
    OAuthライブラリを使用するには「php_curl.dll」というライブラリを
    
    呼び出せるようにしないといけませんでした。
    
    次回、こちらの呼出し設定から再開します。
    
    
    
    通常ツイートがこれでは、botはまだまだ先になりそうです…。


 【 参考 】 SDN Project
 
スポンサーサイト
  1. 2012/09/13(木) 05:24:08|
  2. 制作
  3. | トラックバック:0

トラックバック

トラックバック URL
http://7fblog.blog.fc2.com/tb.php/69-7d075609
この記事にトラックバックする(FC2ブログユーザー)

カウンター

プロフィール

akinasi, tetsuwo

Author:akinasi, tetsuwo
FC2ブログへようこそ!

検索フォーム

カレンダー

06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

告知 (63)
制作 (88)
ソフト紹介 (19)
素材紹介 (10)
言外 (7)
雑記 (361)
ナナエ (29)

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。