LoginSignup
12
12

More than 5 years have passed since last update.

tweepy.api めも //UserオブジェクトとStatusオブジェクトについて

Last updated at Posted at 2018-06-30

Twitter API の tweepyについての覚書。
公式リファレンスをもとにしていますが、一部説明を割愛しているところもあります。
サンプルコードは自前です。

まえじゅんび
import tweepy

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)

api = tweepy.API(auth)

Status系メソッド

update_status()

処理

tweetする。

戻り値

Statusオブジェクト

update
# do tweet
tweet_test = api.update_status('this is test tweet')

# print
print tweet_test.text

>>> this is test tweet

get_status(id)

処理

指定したID値を持つStatusオブジェクトを取得する。

戻り値

Statusオブジェクト

get
# tweet情報を格納したStatusオブジェクト
tweet_obj = get_status(tweet_test.id)
print tweet_obj.text

>>> this is test tweet

destroy_status

処理

指定したID値をもつStatusオブジェクトを破棄する。

戻り値

Statusオブジェクト

destroy
tweet  = api.update_status('this is destroy test')
id     = tweet.id
d_obj  = api.destroy_status(id)

# 破棄した旧Statusオブジェクトの情報が取得される
print d_obj.text 
>>> this is test tweet

# idが示すstatusオブジェクトはすでに存在していないのでエラーとなる
api.destroy_status(id)
>>> error

retweet(id)

処理

指定したID値をもつStatusオブジェクトをリツイートする

戻り値

Statusオブジェクト

rt
tweet = api.update_status('RT test')
api.retweet(tweet.id)

User系メソッド

me()

処理

自身のUserオブジェクトを取得する。

戻り値

Userオブジェクト

me
tweet      = api.update_status('user_test')
tweet_user = tweet.user

me = api.me()

if(tweet_user.id == me.id):
  print('tweet_user is me')
else :
  print('tweet_user isnt me')

>>> tweet_user is me

get_user(user_id / screen_name)

処理

指定したUserオブジェクトのID、またはUserオブジェクトのscreen_name値に合致するUserオブジェクトを取得する

戻り値

Userオブジェクト

get_user
tweet = api.update_status('get user test')

# tweetをおこなったuserのid
tweet_user_id = tweet.user.id

# tweetをおこなったuserの @ で始まる名前
tweet_user_screenName = tweet_user.screen_name

user_a = api.get_user(tweet_user_id)
user_b = api.get_user(tweet_user_screenName)

# 取得したUser情報が等しいかの判定
if(user_a.id == user_b.id):
  print('users are same')
else:
  print('users arent same')

search_users(q[, per_page][,page])

処理

指定した名称を持つUserオブジェクトを取得する

戻り値

Userオブジェクト

search_user
#'tarou'という名称を部分的に設定しているuserを検索する
users = api.search_users(q='tarou')

# 取得したuserのscreen_nameを表示する。実userなのでマスク処理を施す
for name in result:
  n = name.screen_name
  print n.replace(n[0:3], '***')

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12