検索履歴関連

本節では saved_searches 系の応用について記す。私が愛用している Twitter クライアントに頻用検索用語集を埋め込んだことにより、現在ではまったく用いなくなったものである。

GET saved_searches/list

リクエスト時の認証と Twitter ログインとで共通するアカウントでかつて検索したクエリーの一覧を取得する。実行してみれば理解できる。

#!/usr/bin/env python

# Demonstration POST saved_searches/list
# See https://dev.twitter.com/rest/reference/post/saved_searches/list

from secret import twitter_instance
from pprint import pprint

tw = twitter_instance()

response = tw.saved_searches.list()
pprint(response)

上の例では、何も検索していなかった場合には、空のリストが出力される。

GET saved_searches/show:id

GET saved_searches/show:id は保存済みの検索クエリーの詳細を得るのに用いる機能だが、これを利用する機会はないだろう。なぜなら実際に目的のクエリーの ID を知っている必要があるはずだが、それならば先述の GET saved_searches/list のほうがパラメーターを指示することなく、より強い情報を得られる。

#!/usr/bin/env python

# Demonstration POST saved_searches/show/:id
# See https://dev.twitter.com/rest/reference/post/saved_searches/show/%3Aid

from secret import twitter_instance
from pprint import pprint

tw = twitter_instance()

# [1]
response = tw.saved_searches.show._id(_id=4631629399)
pprint(response)
  • [1] パラメーター名は本来 id だが、PTT ルールでは _id と書く。

実行結果を示す。

bash$ ./saved_searches-show-id.py
[{'created_at': 'Fri Nov 27 14:14:19 +0000 2015',
  'id': 4378204334,
  'id_str': '4378204334',
  'name': 'イルベロ OR イルマティックエンベロープ',
  'position': None,
  'query': 'イルベロ OR イルマティックエンベロープ'}]

POST saved_searches/create

わかりにくい言い方をすると「保存した検索」項目を一つ新しく作成するための機能だ。個人的には今となっては使い途がなくなってしまった。

#!/usr/bin/env python

# Demonstration POST saved_searches/create
# See https://dev.twitter.com/rest/reference/post/saved_searches/create

from secret import twitter_instance
from pprint import pprint

tw = twitter_instance()

# Don't abuse OR.
response = tw.saved_searches.create(query='イルベロ OR イルマティックエンベロープ')
pprint(response)

実行結果を示す。

bash$ ./saved_searches-list.py
[{'created_at': 'Fri Nov 27 14:14:19 +0000 2015',
  'id': 4378204334,
  'id_str': '4378204334',
  'name': 'イルベロ OR イルマティックエンベロープ',
  'position': None,
  'query': 'イルベロ OR イルマティックエンベロープ'}]

POST saved_searches/destroy/:id

POST saved_searches/destroy/:id は保存済みの検索クエリーをひと削除する機能だ。ただしクエリーを指定する方法は ID の指定による。

#!/usr/bin/env python

# Demonstration POST saved_searches/destroy
# See https://dev.twitter.com/rest/reference/post/saved_searches/destroy/%3Aid

from secret import twitter_instance
from pprint import pprint

tw = twitter_instance()

response = tw.saved_searches.destroy._id(_id=4378204334)
pprint(response)

成功時の実行レスポンスは上述の POST saved_searches/create と同じように見える。