Hatena::Groupnadesiko

そっとなでしこ RSSフィード


メインのブログに書くまでもない、なでしこ学習帳【記事一覧】 【このブログは何?】


特設!→【目次】なでしこ用Twitter 連携ライブラリ「なこったー」で遊ぶ


2010-09-13

「なこったー」で返信する

| 「なこったー」で返信する - そっとなでしこ を含むブックマーク はてなブックマーク - 「なこったー」で返信する - そっとなでしこ

 日本語プログラミング言語「なでしこ」用Twitter 連携ライブラリ「なこったーの「返信する」関数を使用し、Twitter APIの「statuses/update」 APIを、「in_reply_to_status_id」引数を指定して呼んでみるサンプルです。

【関数】返信する({文字列}STRと{文字列}STATUS_IDに|STATUS_IDへ)~

 今回使用する関数は、「返信する」関数です。

■説明

 Twitter APIの「statuses/update」 APIを「なでしこ」から呼び、指定したツイートに返信する関数です。実は呼び出しているAPIは「つぶやく」関数と同じです。

 「つぶやく」関数で「in_reply_to_status_id」項目を指定した場合と同じ動作になります。

■引数

 詳細は、「Twitter API 仕様書 日本語訳」等を参照のこと。

  • {文字列}STRと
    • 必須です。投稿する文字列を140文字以内で指定します。
    • ※投稿する文字列に「@ユーザ名」が含まれない、あるいは@ユーザ名」で指定したユーザが存在しない場合は、単なるツイート投稿、つまり「つぶやく」関数と同じ動作になります。
  • {文字列}STATUS_IDの
    • 必須です。返信する対象のツイートをステータスIDで指定します。
    • ※指定したステータスIDが存在しない場合は、単なるツイート投稿、つまり「つぶやく」関数と同じ動作になります。
■戻り値

 Twitter APIへの問い合わせに成功した場合は、つぶやいた内容がハッシュテーブルの配列に格納されて戻ります。

 詳細は、以下を参照。

 また、次の場合はエラーを返します。

  • 140文字を越えた文字列を投稿した場合、以下のエラー文言を返す。
error=Status is over 140 characters.
request=/1/statuses/update.json
  • 短時間内に、全く同じ内容を投稿した場合、以下のエラー文言を返す。
error=Status is a duplicate.
request=/1/statuses/update.json

■サンプルのソースコード

 以下のツイート(http://twitter.com/mamenakotter/status/23029181711)、つまりステータスID「23029181711」に返信するサンプルです。

  


mamenakotter
なこったーテスト(まめ狸)

@mametanuki in_reply_to_status_id引数って、投稿内容に"@ユーザ名"が含まれない、あるいは"@ユーザ名"で指定したユーザが存在しない場合、無視されるのね…orz
(2010/09/05 12:46:24)

link

※「OAuth認証設定」部分を、事前に取得した「コンシューマ・キー」と「コンシューマ・シークレット」、「アクセストークン」と「アクセストークンシークレット」に書き換えて実行して下さい。

#-----------------------------------------------------------------------
# OAuth認証設定
#-----------------------------------------------------------------------
# Twitterにアプリケーション登録した際に発行された
# 「コンシューマ・キー」と「コンシューマ・シークレット」を設定
CONSUMER_KEY=「****」。
CONSUMER_SECRET=「****」。
# 「アプリケーションのアクセス許可」&認証で発行された
# 「アクセストークン」と「アクセストークンシークレット」を設定
OAUTH_TOKEN=「****」。
OAUTH_TOKEN_SECRET=「****」。
#-----------------------------------------------------------------------

!「nakotter.nako」を取り込む
なこったークライアントとはNakotter。
そのoauthのコンシューマのトークンキー = CONSUMER_KEY。
そのoauthのコンシューマのシークレット = CONSUMER_SECRET。
そのoauthのトークンキー = OAUTH_TOKEN。
そのoauthのシークレット = OAUTH_TOKEN_SECRET。

返信メッセージは、「@mamenakotter 日本語プログラミング言語"なでしこ"用」&
「twitterライブラリ"なこったー"(http://bit.ly/bxAEOs)からの{~}」&
「返信テストです」。

なこったークライアントから「23029181711」に返信メッセージと返信する。
それをメモ記入。

上のサンプルで投稿された返信ツイートは、こんな感じです。

  


mametanuki
まめ狸

@mamenakotter 日本語プログラミング言語"なでしこ"用twitterライブラリ"なこったー"(http://bit.ly/bxAEOs)からの

返信テストです。
(2010/09/12 21:29:43)

link