メシのタネ

Webプログラミング 備忘録

  • AWS移行でコケ中

    現在このWebサイトが稼働している、このサーバーのMySQLをマスターとし、AWS上のRDSをスレーブとして、データ移行をしようと思ったが、バイナリロギングの取得が上手くいかない。多分の手順VPSのDBでスレーブ用のユーザ作成バイナリロギングを行うスレーブ側RDSにマスターのDUM[...]

    続きを読む
  • AWS ソリューションアーキテクト アソシエイトに合格しました。

    実は、今日までIT無資格でした。ええ歳だし、そろそろなんか資格取っておくかーと考えだしたので、取って嬉しい資格を取ろうと思ってたところ、AWSの資格あったなーと思って、調べてみたら、みんな14日で受かる!とか言ってるので、じゃあというこで、試験日14日後とかにして、試験の予約入れたのが地獄の始まり[...]

    続きを読む
  • DOMをPHPで操作できたらいいよね

    そうだよね。そう思うよね。JavaScriptでやると、画面がガタついたりするもんね。そうならないようにする方法もあるかもしれないけど、僕はできませんので、サーバー側でなんとかできたらええなぁと思って挑戦したけど、できませんでしたよ。PHP標準でHTMLをDOMにできるらしい今、技[...]

    続きを読む
  • 設計書ってなんで書くの?

    設計書をなぜ書くのかから始めてかれこれ3年近くこの禅問答をやっているわけですが、いまだに答えは出ません。ただ、その禅問答をやる中で設計書に対する取り組み方は大きく変わったので、その一部でも書いていきたい。基本設計はとにもかくにも必要だと思う設計書はいらぬ!という話をよく聞くし、自分[...]

    続きを読む
  • 書ききってやる。

    久々に書いてみる。久々に文章を書くということをやってみようと思う。伝える作業を観察したいと思ったからそうしたいと考えた。情緒的な文章は基本的にゴミ箱にぽいしてきましたが、情緒的なのも自分だと思う。「文章をかくという作業は、とりもなおさず自分と自分をとりまく事物との距離を確認すること[...]

    続きを読む

【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させたら上手く行きました。

</p>
<p>twiKey = OAuth1Session(consumer, cSecret, accessToken, aSecret)<br />
url = &quot;https://api.twitter.com/1.1/friendships/create.json&quot;<br />
 params = {<br />
     &quot;user_id &quot;: uId,<br />
     &quot;follow&quot; : &quot;false&quot;<br />
 }</p>
<p>request = twiKey.post(url, params = params)</p>
<p>

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

</p>
<p>twiKey = OAuth1Session(consumer, cSecret, accessToken, aSecret)<br />
request = twiKey.post(&quot;https://api.twitter.com/1.1/friendships/create.json?user_id=&quot;+uId+&quot;&amp;follow=true&quot;)</p>
<p>

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

参考リンク

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

関連記事