トップページ⇒php
982コメント309KB

【Twitter】 BOT製作支援スレ part2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/01/18(月) 23:18:42ID:wnXKZf+j
前スレ
http://pc11.2ch.net/test/read.cgi/php/1254028559/
0369nobodyさん2010/04/15(木) 16:40:05ID:???
>>368
http://jp.techcrunch.com/archives/20100414twitter-user-streams-annotations/
http://jp.techcrunch.com/archives/20100414live-twitter-ceo-ev-williamss-chirp-keynote/
http://jp.techcrunch.com/archives/20100414twitter-has-105779710-registered-users-adding-300k-a-day/
http://jp.techcrunch.com/archives/20100414qa-twitter-execs-answer-the-tough-questions-at-chirp/
0370nobodyさん2010/04/16(金) 17:11:40ID:???
こういったbotを作るのってどうやって実現しているのですか?
http://photozou.jp/photo/show/291196/36256150

Twitterご利用明細書メーカー作ってみた
http://lil.la/dialy/dialy-twitter/twitterbillingmaker/

0371nobodyさん2010/04/17(土) 03:11:42ID:???
bot…?
0372nobodyさん2010/04/17(土) 16:45:01ID:???
>>370
どうやるんですか、の時点であなたにはできない。

頭のいい人はもうできてる
普通の人は調べてる
あなたのような人は何もせず聞くばかり
0373nobodyさん2010/04/17(土) 16:56:20ID:qT79J4bw
>>364
今日公開されてたキャラボット(http://charactorbot.appspot.com/?&locale=ja)っていうボットジェネレーターのソースからだけど、

http://sourceforge.jp/projects/charactorbot/svn/view/tags/charactorbot_1_00_000/charactorbot/src/org/soichiro/charactorbot/server/TwitterBot.java?view=markup&revision=25&root=charactorbot

を見てみると最新のTwitter4jで実装の仕方変わったみたいだよ。

AccessToken accessToken = new AccessToken(account.getToken(),account.getSecret());

Twitter twitter = new TwitterFactory().getOAuthAuthorizedInstance(account.getConsumerKey(),account.getConsumerSecret(),accessToken);

こんな感じにしてTwitterのインスタンスを取得するみたい。公式のサンプルが間違ってる。
0374nobodyさん2010/04/17(土) 17:15:16ID:qT79J4bw
>>373

URLみたら")"が混じって英語版が開いてた
キャラボット
http://charactorbot.appspot.com/?&locale=ja

こっち。
後ソースの方も

http://sourceforge.jp/projects/charactorbot/svn/view/tags.tar.gz?root=charactorbot&view=tar

で丸々落とせるので、解凍してEclipseにインポートしてGAE/Jのアプリケーションにアップロードするとそのままボットジェネレーターとして動く。カスタマイズして自分用に使うのも一つ。
0375nobodyさん2010/04/17(土) 23:30:14ID:???
>>374

ありがとうございます。
早速試してみます。

自力でちょっと調べまして、Java じゃなくて Ruby/Sinatra なんですが、以下のソースで Smart.fm はクリアできました。

require 'rubygems'
require 'sinatra'
require 'oauth'

enable :sessions

get '/twitter' do
consumer = OAuth::Consumer.new('内緒', '内緒', { :site => 'http://twitter.com', :request_token_path => '/oauth/request_token' })
request_token = consumer.get_request_token # => ここで 401 Unauthorized 発生。
session[:request_token] = request_token
puts request_token.authorize_url
end

get '/smartfm' do
consumer = OAuth::Consumer.new('内緒', '内緒', { :site => 'http://api.smart.fm', :request_token_path => '/oauth/request_token' })
request_token = consumer.get_request_token
session[:request_token] = request_token
puts request_token.authorize_url # => ここで Authoriza url が取得できた。
end

Twitter は We support hmac-sha1 signatures. We do not support the plaintext signature method. と言っており、
Smart.fm は * HMAC-SHA1 (recommended) and PLAINTEXT are supported * と言っています。
キャラボットのソースを読んでもできないようだったら、OAuth::Consumer.new の引数でそのへんを指定する方法を調べてみます。
03763752010/04/18(日) 01:32:47ID:???
わかりました。

処理は正しく、Twitter の OAuth 認証に登録したアプリが無効化されていました。
新しいアプリをもう一つ登録し、そちらで試したらあっさり動きました。
無効化されたアプリを再度有効化するには [email protected] にメールするみたい。

以下、Twitter から届いていたメール。

> This is a notice that your OAuth token for あんたのアプリケーション has
> been suspended from interacting with the Twitter API.
>
> Please make sure that your application follows Twitter's policies, including
> the Twitter rules (http://help.twitter.com/forums/26257/entries/18311),
> the API rules (http://twitter.jp/apirules), and the automation rules
> (http://help.twitter.com/forums/10711/entries/76915).
>
> To request for your token to be re-enabled, please write to [email protected]

Status: 401 Unauthorized

<?xml version="1.0" encoding="UTF-8"?>
<hash>
 <request>/oauth/request_token</request>
 <error>Invalid / suspended application</error>
</hash>

というレスポンス通り、suspended application だったわけで。
お恥ずかしい限りです。
03773752010/04/18(日) 01:41:19ID:???
>>373

教えていただいたあたりのソースは GAE 上で永続化した Access token を読み出して
Twitter クラスのインスタンスを生成する処理です。
それ以前に今回つまっていた Request token の生成をCharactorbotServiceImpl.java の 529 行目あたりで行っています。

public String getAuthorizationURL(String consumerKey, String consumerSecret) {
  if(consumerKey == null || consumerSecret == null) throw new IllegalArgumentException("null is not allowed.");
  checkLogin();
★  Twitter twitter = new TwitterFactory().getInstance();
★  twitter.setOAuthConsumer(consumerKey.trim(), consumerSecret.trim());
  try {
★    RequestToken requestToken = twitter.getOAuthRequestToken();
    ConsumerKeyAndSecret key = new ConsumerKeyAndSecret();
    key.consumerKey = consumerKey;
    key.consumerSecret = consumerSecret;
    mapRequestTaken.put(key, requestToken);
    return requestToken.getAuthorizationURL();
  } catch (TwitterException e) {
    e.printStackTrace();
    return null;
  }
}

★をつけたところがポイントで、このへんの処理はオフィシャルのサンプルと同じです。
したがって、オフィシャルのサンプルは間違っていません。
長々とスレ汚しすみませんでした・・・。
0378nobodyさん2010/04/19(月) 12:42:00ID:ex/sLZjj
>>372
お前のような奴が一番ウザイ
出来もしない奴が出てくるなっての
半年ROMってろバk
0379followjp2010/04/19(月) 12:46:29ID:NMrEK+fA
twitterで現在何の話が話題かわかるサイト紹介します。
http://followjp.com
0380nobodyさん2010/04/19(月) 17:45:33ID:???
すごくスパムっぽい紹介ですね。。
0381nobodyさん2010/04/26(月) 03:27:30ID:???
>Twitter APIのBASIC認証は2010年6月に廃止予定
0382nobodyさん2010/04/26(月) 14:05:08ID:???
>>381
なんか、ようやく盛り上がってきたw
MyBotたちは対応済みだけどiPhoneアプリが気になるな
0383nobodyさん2010/04/26(月) 15:04:58ID:???
いい加減対応しないととは思いつつ発言辞書追加とか機能追加の方にかまけてしまってたからまあ5月中には対応しとこうかねえ。
一応クライアント名明示できるし。
0384nobodyさん2010/04/27(火) 00:57:09ID:???
6月にdeprecatedという話は前から聞いてたけど、
使えなくなる(shutting off)とは思わなかった。
あとOAuthは突然suspendされた人が出たという噂も聞いたので尻込みしてた。

OAuth対応はライブラリ使えばそんなに難しくないけど
全部のbotのプログラム書き換えるのは面倒だなぁ。
0385nobodyさん2010/04/27(火) 14:19:20ID:???
とりあえずOAuth認証の部分だけ作って他はあとでやろう、って思ってたら
認証作った翌朝にsuspendされた、どうしろというのだ
0386nobodyさん2010/04/27(火) 15:06:06ID:???
suspendってどういう風に?通知がきたの?
0387nobodyさん2010/04/27(火) 23:18:36ID:???
Application suspension notice ってタイトルのメールが来て
twitterの設定画面見たらアプリケーションの説明の所にサスペンドって出てた
0388nobodyさん2010/04/28(水) 01:06:55ID:???
初めにつくったやつsuspendされたけど、
アプリ説明部分が意味のない英文ってかa30文字だったのがまずかったみたい

二代目は説明箇所を一応意味のある日本語にして、短めだったアプリ名称を念のため伸ばした。
今のところsuspendされてないよ。
0389nobodyさん2010/04/28(水) 08:44:33ID:???
>>388
ちょっと説明文直してくるわ
0390nobodyさん2010/04/28(水) 09:41:47ID:???
しかしそんだけで無効化されてたらbotどころかクライアントやサービスも下手にやれんなー。
0391nobodyさん2010/04/28(水) 15:35:06ID:???
まともに名前も説明も付けられない程度の下手加減ならやるなってことだろ
0392nobodyさん2010/04/30(金) 02:00:57ID:???
某所のコピペだけどすまん聞いてください

こちら
http://ko-lab.net/twitter/google-app-enginegae%E3%81%A7cron%E5%8B%95%E3%81%8B%E3%81%99%E3%82%84%E3%82%8A%E6%96%B9%E3%82%92%E3%82%86%E3%81%A8%E3%82%8A%E5%90%91%E3%81%91%E3%81%AB%E3%81%BE%E3%81%A8%E3%82%81%E3%81%A6%E3%81%BF/
を参考にGAEcronを設定してているのですが、12.おまけ の1アプリでいくつかのcronが動かなくて困っております。

「web.xml を開いて以下のように書き換えて適当な箇所に追加する」ソースは、

-略-
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>* 伏*</servlet-name>
<servlet-class>*伏*.* 伏*Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet- name>*伏*</servlet-name>
<url-pattern>/*伏*</url- pattern>
</servlet-mapping>
//ここ
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

// ここ の部分に挿入すればいいのでしょうか?それともまったく見当違いでしょうか?
1アプリにcron1つだと問題なく動いていますが、3つほど入れると全部 Failedで動きませんでした。
どうかご教示お願い致します。
0393nobodyさん2010/04/30(金) 22:51:16ID:???
>>392
場所はそこでいいと思うが、問題はそこじゃない
パッケージ下にクラスを作る の意味が分からないならググって理解しろ
分からないならやめとけ
0394nobodyさん2010/04/30(金) 23:59:20ID:???
>>393
パッケージ下=同パッケージ内という発想しかなかったから、もう少し勉強してきます
ありがとう
03953932010/05/01(土) 00:43:59ID:???
>>394
パッケージとクラスの意味は理解してるのか
<servlet-class>【*伏*】.* 伏*Servlet</servlet-class>
↑左の部分まで書き換えてないか?
そこはパッケージ名のままにしておかないと動かないよ
0396nobodyさん2010/05/01(土) 05:42:06ID:???
投稿成功してんのに403 Forbiddenとか出るの勘弁して欲しい。
0397nobodyさん2010/05/01(土) 16:07:12ID:???
夜とかEchofonから投稿しても同じような感じだからAPIが重すぎて腐ってるんだと思う
0398nobodyさん2010/05/02(日) 00:02:12ID:???
キャラクターbotって結構多いけど出来がいいのってどんなのあるんだろうか。
ランダムトークとリプライ反応さえあればあとは辞書データの工夫のが重要になってきそうだけど。
0399nobodyさん2010/05/02(日) 23:40:22ID:???
>>395
ありがとう
その左の部分は大丈夫だった
CronJobに、作成した数(2つ)のステータスが出るんだが、on time Failed と 数字secs late Failed になって動いてないみたいで…
見本と照らし合わせながら慎重に<servlet-name>や<url-pattern>を変えてみたけど動かないな
GAEはもともと不安定なんだろうか
0400nobodyさん2010/05/03(月) 08:34:25ID:???
最近GAE不安定すぎてどうにもならないわ。
0401nobodyさん2010/05/03(月) 20:31:26ID:Gh0qmOKb
>>400

たぶん、それはGAEが不安定じゃなくてTwitterの方が不安定なんだと思う。
GAEで他のサービスもやってるが、そっちは安定そのもの。

30秒のタイムアウト。
TaskQueueにスタックしてるなら10秒のタイムアウト。
twitterが遅いとそっちがURLフェッチできずに効いてくる。

タイム制限の中にURLフェッチの処理がしっかり入れば大丈夫だから、
URLにアクセスする処理をTaskQueueに分散して、
そのスレッドの中で一つしかアクセスしないようにする。

さらに一個失敗しても大丈夫なようにしておけば、意外と失敗しない。

http://sourceforge.jp/projects/charactorbot/devel/

ここのやり方が結構秀逸。
ランダムポスト・私信返信・ポスト解析・フォロー返し
といろいろやってるけど、普段は一度しかアクセスしてない。

最新のソース、ダウンロードしてみるといいかも。
0402nobodyさん2010/05/03(月) 21:45:20ID:???
今頃twitterって時代遅れもいいとこ
0403nobodyさん2010/05/03(月) 21:52:12ID:???
>>401
CronでFailed出る時はCron自体動かなかったのかと思った。
あと、タイムアウトって8秒じゃなかったっけ
0404nobodyさん2010/05/03(月) 23:31:20ID:???
エラーログ見てるとこの時間帯はAPIコールのタイムアウト出まくりだしなー。
oAuthだけじゃなく色々増えるっぽいけどサーバがユーザの増加に追いついてないな。
0405nobodyさん2010/05/04(火) 02:02:03ID:+1kjpDTi
>>403

cronでFailでるのは叩いてるそのリクエストが遅いから。

30秒の制限以内におわっているか、次のcronにかぶってないか、
リクエストのapi_msとcpu_api_msとかをログで見てみると良い。
数秒かかるようなら警告のマークが出てるはず。

cronで直接叩かずに、cronは開始時間だけ取っておいて、
すぐTaskQueueに詰めてすぐ終了すると、失敗少ない。

あと、失敗時のリトライもTaskQueueに詰めれば確実。

あと数秒かかってるようならappstatsを入れて
どのメソッドとどのAPIコールにどれだけ時間がかかってるか確認すると良い。
やり方は、GAE/Jならの4番目。
http://d.hatena.ne.jp/itaosan/20100421


とは言えリトライしててもTwitterが落ちまくってるとすごく時間かかるけど。
0406nobodyさん2010/05/04(火) 02:56:11ID:???
GAE上のbotの話と、どっかのcron不可サーバに置いたbotに
GAEからhttp叩いて着火するいわゆるweb cronの話が混ざってるようにも見える
0407nobodyさん2010/05/04(火) 02:59:53ID:???
書き忘れた
後者はGAE行きのレスポンスをさっさと吐いて標準出力をクローズすれば
twitterが重かろうと関係なくGAE側は正常終了するはず
0408nobodyさん2010/05/04(火) 09:35:22ID:QLS4fdDM
oauth対応みんなどうする???
0409nobodyさん2010/05/04(火) 13:53:46ID:???
>>408
いま、一所懸命やっとるがな。
0410nobodyさん2010/05/04(火) 17:10:28ID:???
対応済み
意外に楽だった

どれだけのボットがいなくなるかには興味がある
0411nobodyさん2010/05/04(火) 17:41:57ID:???
職業プログラマにとっては楽なことだけど
サンデープログラマにとっては初めてぶち当たる大きな壁になるだろうなこれ
0412nobodyさん2010/05/05(水) 01:51:31ID:???
まあちょっと改造するとかの人はむしろ対応して配布されたのや
対応した後のbotサービス使うだろうよ。
俺もまだやってないけど作ったばっかのbotの機能の方を先になんとかしたいところ。
0413nobodyさん2010/05/05(水) 10:40:35ID:???
質問させていただきます

http://pha22.net/twitterbot/からいただいたver.2.03のreply_pattern.phpの編集なんですが
TLに反応して@を返すというものなんですが・・・
http://d.hatena.ne.jp/bardothodol/20090930#p1のサイトのものをお借りしてコピペしたのですが反応してくれません
他の動作は確認できました

修正方法や雛形を教えてください><
0414nobodyさん2010/05/05(水) 12:17:05ID:???
具体的にどこを改造してどう動かないのかも説明しないで答え返せるほどテレパシー能力持ってないよ。
0415nobodyさん2010/05/05(水) 12:30:43ID:???
$filename = "./tmp/last.dat";
↓
$filename = "./log.dat";
に変更しただけですが駄目ですか?><
0416nobodyさん2010/05/05(水) 13:08:28ID:???
他の動作はできたってのは反応以外は動くって解釈していいのかね。
変更箇所が$filenameだけなら
$username = "";
$password = "";
変えてなきゃ動くわけもないので初心者が言うとき何をしたかはしょらずに正確に書いて欲しい。
まあファイルの文字コード違うとかそういうのじゃないの。
0417nobodyさん2010/05/05(水) 13:09:11ID:???
あ、IDとパス書けって意味ではないよ。
変更箇所をすべて言わないとわかんないってことで。
0418nobodyさん2010/05/05(水) 13:20:53ID:???
>>416
はいそうです
$filename = "./tmp/last.dat";
ここ以外は弄ってません

文字コードと改行は指定されたとおりにしました
COBOLしかできない痴呆なので詳しくお願いします><
0419nobodyさん2010/05/05(水) 14:05:11ID:???
まさかと思ったが
$username = "";
$password = "";
を指定してないからじゃないかそれ。
プログラムやってんならその行見て不審に思わなかったのか。
0420nobodyさん2010/05/05(水) 14:30:55ID:???
なぜ作者に聞かずに匿名掲示板で聞くんだろう
自分でも質問するに値しないレベルのどうでもいいことだと認識してるからじゃないのか?
0421nobodyさん2010/05/05(水) 17:18:34ID:???
できないです^q^
キャラボットの復活待ちます
0422nobodyさん2010/05/05(水) 17:35:09ID:HTuheCnu
botクライアントoauth対応中なんだが、access token取るためCAPCHA通るんだ、、、フル自動化できない。
0423nobodyさん2010/05/05(水) 20:49:50ID:???
スパマー乙って言われたくなければ我慢しとけ
0424nobodyさん2010/05/05(水) 21:34:38ID:???
>>422
PIN入力してAccessToken取るやり方?
本当だとしたらきついなー
0425nobodyさん2010/05/06(木) 11:30:08ID:/xpEwzH6
>>422です

昨日取ったaccess tokenで、post出来た。いいんだけど、expire期限いつまでなんだろ。
0426nobodyさん2010/05/06(木) 14:09:00ID:???
tokenは無効化するまでじゃね?
0427nobodyさん2010/05/06(木) 17:20:27ID:/xpEwzH6
422です
>>426
> tokenは無効化するまでじゃね?
さんくす。安心して使いまくります。
0428nobodyさん2010/05/07(金) 23:12:32ID:???
ヽ( ・ω・)ノ
http://twitter.com/nbginews
0429nobodyさん2010/05/09(日) 15:15:24ID:QohMfTcW
>>421
キャラボットまた募集はじめたみたいだよ。
http://sourceforge.jp/projects/charactorbot/wiki/Servers
ここで運用サーバー一覧が公開されてる。

OAuth認証もできるし、TLへの反応も1分置きで結構使える。
けど、作成可能なボット数も限りあるみたいだから急いだ方がいいかも。
0430nobodyさん2010/05/09(日) 18:51:26ID:4tzIYBNe
OAuth認証でAPI使い始めてから、401エラーが多発
うまく行くときといかないときがあるから逆に原因不明という・・・。

何か気をつけることってありますか?

いまはmentionsでreplyを取得しています。つぶやきは今のところ問題なさそうです(あまりつぶやいていないので分かりませんが
0431nobodyさん2010/05/09(日) 19:56:56ID:6lB/rbOi
>>430
時刻ずれてない?
0432nobodyさん2010/05/12(水) 05:49:39ID:???
OAuth対応させた後にGAEにも以降したんだが、
リプライだけひたっすら重たくて1300〜1500cpu_msでログが真っ赤。ポストもされない。
間隔あけてみたりソースのコメントアウトとかecho文も全部消したりしたけど一向に良くならない…
どう対処したらいいんだろう。
ソースはPHPでジェネレーターとかは使ってない。GAEはjava
0433nobodyさん2010/05/12(水) 07:59:14ID:???
>>407を実装できればいいんだがどうすればいいかわからない
>>392のとこの使ってるけど
0434nobodyさん2010/05/12(水) 10:49:56ID:???
と言われてもGAE側の問題じゃないし
「cgi 標準出力 閉じる」あたりでぐぐれ
0435nobodyさん2010/05/12(水) 16:55:07ID:???
ここしばらく20時から2時くらいの間で何度かAPIコールにリトライしても
タイムアウトしまくりなんだか他もそんな感じ?
0436nobodyさん2010/05/12(水) 23:12:33ID:1x2EnOp+
>> 432
それはかかりすぎ。

一気に一つのサーブレットたたいてやるんじゃなくて
分けれるなら分割して複数のサーブレットを
複数のcronからたたいたらどう?

フォロワーが1000超えてるならタイムライン
の解析とかも1分置きより短くして一回の処理を短くした方がいいよ。
API回数は食うけど。
0437nobodyさん2010/05/13(木) 00:09:55ID:???
GAEけっこうgdgdだから何とも言えんな
0438nobodyさん2010/05/13(木) 03:07:16ID:g6nE4IPR
oauthに登録したいのですが、
「アプリケーションのウェブサイトURL」や「コールバックURL」がまだ確定してません。
まず練習用に作りたいので、公開するかも分かりません。
http://localhost/
などと入力したらinvalidと出ました
適当なURL(http://sample.comなど)を入力しちゃっていいのでしょうか?
0439nobodyさん2010/05/13(木) 17:46:30ID:???
>>432
> OAuth対応させた後にGAEにも以降したんだが、
> リプライだけひたっすら重たくて1300〜1500cpu_msでログが真っ赤。ポストもされない。
> 間隔あけてみたりソースのコメントアウトとかecho文も全部消したりしたけど一向に良くならない…
> どう対処したらいいんだろう。
> ソースはPHPでジェネレーターとかは使ってない。GAEはjava

ウチもログ真っ赤、でもリプライは返してるんだよね…わけわからん
0440nobodyさん2010/05/14(金) 01:39:01ID:???
ゆとり向けにまとめてみたを参考にして、作ってみたのですが、
デプロイで
Server Error (500)
A server error has occurred.
というエラーが出てしまって、デプロイすることができません。
調べても詳しく説明が載っていなくて困っています。ご存知の方いらっしゃいましたらお願いします。
0441nobodyさん2010/05/14(金) 07:47:45ID:???
>>440
それだけで誰か分かりますか?といってもエスパーでもない限り分からないよ
bot掲示板でただ分かりません!ご教授下さい><とだけ言ってるやつらと一緒だな
0442nobodyさん2010/05/14(金) 09:24:45ID:???
>>440
bot作るのやめたほうがいいよ。
0443nobodyさん2010/05/14(金) 12:16:01ID:???
EasyBotter・独自のOauth認証を使用しています。
普段の投稿は「"東京"から」のように自分の設定したfromを表示させることができますが、
例えば手動でウェブや他のクライアントから投稿した場合にも、同じように表示させることは可能でしょうか?
0444nobodyさん2010/05/14(金) 12:26:33ID:???
>>443
phaさんの掲示板過去にあるから検索してみ
0445nobodyさん2010/05/14(金) 14:10:34ID:???
>>434
PHPだと標準出力は手動で閉じれないみたいなんだよな
アクセスしてきたらレスポンスだけ先に送るってことできないのかな
0446nobodyさん2010/05/14(金) 17:43:38ID:???
>>443
ありがとうございます、探してみます。
04474402010/05/14(金) 22:35:23ID:???
440です。詳しく書いたつもりだったのですが甘かったようです。
もう少し一人で格闘してみます。すみません。
0448nobodyさん2010/05/15(土) 01:13:36ID:???
いや、詳しくどころか簡単にも書かれてないんだ・・・。
とりあえずphpのスレでも見てテンプレの初心者向けサイトでも参考にするといい。
0449nobodyさん2010/05/15(土) 02:46:02ID:???
死んではいないけど瀕死
0450nobodyさん2010/05/15(土) 02:46:43ID:???
ごめん誤爆
0451nobodyさん2010/05/15(土) 18:24:55ID:???
>>449
最悪のタイミングの誤爆ですぞ
0452nobodyさん2010/05/16(日) 06:34:31ID:???
Greasemonkeyでスクリプト書きたいんですが、oauthについてよくわかりません
同様のスクリプトを探してみてもBasic認証での実装しか見つかりません
参考にしたいのですが、oauthをJavascriptで実装しているものははないでしょうか
0453nobodyさん2010/05/16(日) 23:07:45ID:ctAHkOPv
>>452
http://blog.tomatomax.net/archives/2696
0454nobodyさん2010/05/18(火) 15:13:38ID:BXwl2DAR
GAE+@PAGESを使っているんですが
叩く時間が2秒ずつ遅れていってしまって困っています
安定させる方法や、例えば30分ジャストにだけ叩くのではなく29分と31分も含むなどして
許容時間を広げる方法ってありませんか?
0455nobodyさん2010/05/18(火) 15:19:47ID:???
>>454
>30分ジャストにだけ叩くのではなく29分と31分も含むなどして
cronの起動分数と関連づければできる
0456nobodyさん2010/05/18(火) 15:41:10ID:???
>>455
ありがとうございます!調べてやってみます
0457nobodyさん2010/05/18(火) 22:10:12ID:???
>>453
すみません、有難うございます
そのサイトは一度見つけていたのですが、Python の実装例だと思い見過ごしていました
もう一度じっくり読んでみたいと思います
0458nobodyさん2010/05/28(金) 22:48:20ID:???
ここではこれは話題にならないのか?
ttp://jptwitterhelp.blogspot.com/2010/05/blog-post_4711.html
0459nobodyさん2010/05/28(金) 22:48:50ID:???
どちらかというとここはプログラムについてじゃないのかな
0460nobodyさん2010/05/28(金) 23:22:28ID:???
ガイドライン的なものはこっちで語ってもいい部分ではあるが
botの騙りなんて公式アカって明示してないのは個人製作だってわかるしなー。
どっちかというと>>458のは実在の人物の中身入りの騙り防止だと思う。

ガイドラインていうかbotの引用についてはこんな印象。
△は俺としてはアリだけど人によっては嫌な人もいるかなって感じ。
┣ 公式RT(TLに出ない)→△
┃
┣ 引用のみ(@なし:TLに出ない)(bombtter等)→△
┃
┗ 非公式RTやリプライ(@付き:TLに出る)
  ┣ フォロワー限定→○
  ┗ 非フォロワー→×
   ┣ 一般的な語句→×××
   ┗ 特定の語句→×
0461nobodyさん2010/05/29(土) 16:44:15ID:???
もし、モペキチ(堰澤 映)がTwitterに出てきたら?

モペキチはただの荒らしさんではないため、自動保守botを作り、
API突破(Samba突破に近い)のつぶやきを投稿し続けると思う。

さらに、モペキチは当然多重アカウントである事も確か。
こんな卑怯な手を使ってまで荒らすバカはいないよね。
0462nobodyさん2010/05/29(土) 16:52:32ID:???
何を言っているんだ
0463nobodyさん2010/05/30(日) 03:21:12ID:???
>>461
もぺきちってこれか
http://www28.atwiki.jp/mopekiti/
0464nobodyさん2010/05/31(月) 15:12:09ID:???
荒らしのことなんてここで語りたくも聞きたくもないよ。
0465nobodyさん2010/06/05(土) 02:09:55ID:???
認証が通らない(Incorrect signature)orz
以下の手順で大丈夫でしょうか?
AccessToken/Secretはdev.twitter.comで取得済みです。
長文申し訳無いです。

1.適当にランダムなouath_nonce生成
2.base文字列生成
   POST&URLエンコード(URL)& + URLエンコード(OAuthパラメータ....&status=test)
3.signature生成
   HMAC-SHA1を キー値:ConsumerSecret&AccessTokenSecret, ソース:base で生成(バイナリ)
   ハッシュバイナリをBase64エンコード→URLエンコード
4.HTTP Request生成
   POST http://api.twitter.com/1/statuses/update.xml HTTP/1.1
   Host: api.twitter.com
   Content-Type: application/x-www-form-urlencoded
   Authorization: OAuth
    oauth_nonce="1の適当なnonce",
    oauth_signature_method="HMAC-SHA1",
    oauth_timestamp="1275670612",
    oauth_consumer_key="...",
    oauth_token="...",
    oauth_signature="signature",
   oauth_version="1.0"
   Content-Lenght: 11

   status=test
   (実際はOAuth部分の改行無し)
5.送信
0466nobodyさん2010/06/05(土) 19:29:57ID:???
引数名ごとにソートしてる?
0467nobodyさん2010/06/05(土) 23:37:20ID:???
>>466
はい。
なんだかよく分からないうちに認証出来るようになりました・・・。
0468nobodyさん2010/06/06(日) 17:48:08ID:WWdDH7jD
はじめまして。質問させてください。eclipse+twitter4j+GAEでbotの開発を行っています。

botがfollowしている人がつぶやいたときに、そのつぶやきを非公式RTする

といった機能を付けたいと考えているのですが、その実装方法がなかなか
わからず、悩んでおります。
もし、実装の仕方をご存知の方がいればご教授いただけないでしょうか。
「このページが参考になるよ」「○○でググれ」といったものでもかまいません。
どうぞ、よろしくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています