【TwitterAPI】 friendships/createにPOSTすると403が返ってきて困った

twitterbunner

Pythonを使って、ユーザーを検索して、指定ユーザーをフォローしようと思ってプログラムを作ってたらTwitterAPIの操作でハマりました。
対象IDをフォローする場合に、IDやスクリーンネームをpostしないと駄目だと思うんですが、
今回対象のTwitterIDを指定URLにpostしたら403が返ってきたので情報の探し方が分からなくって凄い困りました。

解決のプロセス

URLにpostするパラメータの設定がおかしいんだと思ってたんですけど、メソッドからパラメータを送信するんじゃなくて、
POSTするURLにパラメータを設定する事で解決ができました。多分、ほかにも良いやり方がありそうです。

間違っていたコードと大丈夫だったコード

とりあえずパラメータをJSON形式で記載して、これをpostさせれば良いと思ってました。
実際statuses/updateの方ではパラメータをJSON形式で指定してpostさせたら上手く行きました。


twiKey = OAuth1Session(consumer, cSecret, accessToken, aSecret)
url = "https://api.twitter.com/1.1/friendships/create.json"
 params = {
     "user_id ": uId,
     "follow" : "false"
 }

request = twiKey.post(url, params = params)

フォローさせたいなら、こんな感じでパラメータをURLに設定すれば上手く行くようでした。


twiKey = OAuth1Session(consumer, cSecret, accessToken, aSecret)
request = twiKey.post("https://api.twitter.com/1.1/friendships/create.json?user_id="+uId+"&follow=true")

こんな感じで書いたら、上手くフォローすることができました。
SSLで接続させないと駄目とか、API制限に引っかかったとか色々検索したら出てきましたが、
自分はリクエストの方法がおかしかったようです。もし良い書き方があれば教えて下さい・・・。

参考リンク

POST friendships/create
ユーザーをフォローする、アンフォローする

スポンサーリンク

この記事が気に入ったら
フォローしよう

最新情報をお届けします

おすすめの記事