PC日記2

PC好きによるPC好きのためのPC日記

【TwitterAPI】id指定のAPIを叩いた時に「Sorry, that page does not exist」と出て困っていたらサーバーが32ビットだったでござる。

TwitterAPIを使ってbot作っています。

ランダムにツイートさせたり自動でフォロー返したりなどの基本機能を作った後、キーワードマッチしたらリツイートしたりファボったり。さらに色々機能を実装しようとしていたらちょっぴりハマってしまった。

 

idを指定するAPI(/statuses/retweet/:id)を叩くと、エラーが返る。

「Sorry, that page does not exist」

となる。

開発環境では問題なく実行できるのに、ステージングサーバーにリリースすると動かない。

エラーでググっても、的を得た事例が無い。

 

サーバー側でidのdumpとって見て、ハッと気づく。

float(5.1697290192557E+17)

開発環境(MBP13)ではintだったのに、サーバーではfloatになっている・・・。

 

そうサーバーはステージングなので、スペックのショボい32ビットOSなのだ。

Twitterのidはとっくに32ビットintを越えているため、idを扱うAPIを叩くためには、64ビット環境が必要と言う事だ。

 

サーバーのメモリが512M程度のVPSなので、32ビットOSでええやんと思っていたらこんなところで問題が出たと言う。

 

ブログに書くほどのことでも無いけど、もしかしたら他に同じようにハマる人がいるかもしれないので記録しておく。