Twitterのアプリを作りたいのですが、ユーザがアプリ認証後、そのユーザのタイムラインへ週に1度ほど、つぶやきがツイート又はリツイートされるようにしたいのですが、どういったスクリプト等で実現可能でしょうか。


参考になるコードやURLを教えてください。

http://webkaru.net/php/twitter-bot/
では、アプリの認証等まではできませんよね?

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2014/12/22 03:48:38
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:psne No.2

回答回数605ベストアンサー獲得回数334

ポイント100pt

質問にあるURLが abraham/twitteroauth ? GitHub を利用しているので、Webサービスとして回答します。

上記のリンクから一式をダウンロードすると、Twitterを利用してWebサービスにログインするためのサンプルが手に入ります。
こちらのサンプルをまずは動かせるようにします。(config-sample.phpの設定を書き換え、ファイル名を変更したのち、テスト環境などの実際に動く環境に持っていきます)

実際にログインをしてみると、セッションに

  • oauth_token
  • oauth_token_secret

が記録されます。この2つを1ユーザー分として何処かに保存しておき、最初に設定したCONSUMER_KEY、CONSUMER_SECRETの計4つを組み合わせる事で、ツイート・リツイート等ができるようになります。

人力検索はてなさんはTwitterを使っています: "Twitterのアプリを作りたいのですが、ユーザがアプリ認証後、そのユーザのタイムラインへ週に1度ほど、つぶやきがツイート又はリツイートされるようにしたいのですが、どういったスクリプト等で実現可能でし... http://t.

一例として、@hatenaquestion 人力検索はてな でツイートされた、今回の質問文についてのツイートhttps://twitter.com/hatenaquestion/status/545531515254239233
をリツイートする場合は、index.phpのSome example callsの辺りに、

/* Some example calls */
$connection->post('statuses/retweet/545531515254239233');

この様に追記すると、ログインと同時にリツイートするようになります。
「545531515254239233」というのはツイートIDで、URLやタイムラインを取得すると入手する事ができます。

その他の回答1件)

id:jislotz No.1

回答回数19ベストアンサー獲得回数7

ポイント100pt

Twitter APIでアクセストークンを取得する方法
http://syncer.jp/twitter-api-how-to-get-access-token

他2件のコメントを見る
id:jislotz

紹介したページの著者はOAuth 1.0aの方法を書いています。(使えるよ!)

https://dev.twitter.com/oauth/reference/post/oauth/request_token
>This method fulfills Section 6.1 of the OAuth 1.0 authentication flow.
って書いてあります。
また、oauth_callbackというパラメータについては、
>For OAuth 1.0a compliance this parameter is required.
と書かれています。
OAuth 1.0aじゃないOAuth 1.0のときはoauth_callbackというパラメータは
リクエストトークンを取得するときじゃなくて、
ユーザーに認証を要求するときに任意でつくものだったみたいです。
OAuth 1.0aじゃないOAuth 1.0のドミュメントを見ると
http://oauth.net/core/1.0/#auth_step1
6.1のところにはoauth_callbackのことは書いてなくて、
その次の6.2の方に書いてあります。

2014/12/19 03:48:46
id:jislotz

データベースの扱いについては自分もそういう方法しか思いつかないのですが、
ユーザー数が多すぎると処理が重くなったりするのかな(?_?)

2014/12/19 03:55:37
id:psne No.2

回答回数605ベストアンサー獲得回数334ここでベストアンサー

ポイント100pt

質問にあるURLが abraham/twitteroauth ? GitHub を利用しているので、Webサービスとして回答します。

上記のリンクから一式をダウンロードすると、Twitterを利用してWebサービスにログインするためのサンプルが手に入ります。
こちらのサンプルをまずは動かせるようにします。(config-sample.phpの設定を書き換え、ファイル名を変更したのち、テスト環境などの実際に動く環境に持っていきます)

実際にログインをしてみると、セッションに

  • oauth_token
  • oauth_token_secret

が記録されます。この2つを1ユーザー分として何処かに保存しておき、最初に設定したCONSUMER_KEY、CONSUMER_SECRETの計4つを組み合わせる事で、ツイート・リツイート等ができるようになります。

人力検索はてなさんはTwitterを使っています: "Twitterのアプリを作りたいのですが、ユーザがアプリ認証後、そのユーザのタイムラインへ週に1度ほど、つぶやきがツイート又はリツイートされるようにしたいのですが、どういったスクリプト等で実現可能でし... http://t.

一例として、@hatenaquestion 人力検索はてな でツイートされた、今回の質問文についてのツイートhttps://twitter.com/hatenaquestion/status/545531515254239233
をリツイートする場合は、index.phpのSome example callsの辺りに、

/* Some example calls */
$connection->post('statuses/retweet/545531515254239233');

この様に追記すると、ログインと同時にリツイートするようになります。
「545531515254239233」というのはツイートIDで、URLやタイムラインを取得すると入手する事ができます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません