和田憲幸のブログ

札幌市白石区在住、個人事業のWebエンジニア 和田憲幸(43歳)のブログです。

APIはもう使わん!

今しがた製品のトラブルに見舞われて対応していたのですが。

2012-05-09 11:03:43
入力時間 / 05:52

Bing Translator APIを使っているワーズオブというプログラムなのですが「翻訳できない!」という自体に遭遇。デモサイトでも翻訳できるしAPI Keyも間違っていないのになぜ・・・。と、もんどり打ってたんですが何のことはない仕様が変わったとのことでした。

旧来に取得していたAppIDには影響が無いとのことでホッと胸を撫で下ろしているわけですが、Google Maps APIのv2→v3の時も感じたこの面倒くささ。もちろん無料で利用できるAPIに関して文句を付ける気はないけれど「普遍的に利用できる」という安心感と引換に使うとすれば代償は大きいように感じる。

過去、マッシュアップ系のWebアプリやWebサービスが隆盛した時代にも多くがAPIの仕様変更や規約変更に悩まされて星の数ほど消えていったことは記憶に新しいわけで、無償の代償とも言うべき仕様変更・規約変更はやっぱり怖いものですね。怖いというか面倒臭いというか。

と、いうとでサクッと対応できたからよかったけど、もっと複雑難解だったりGoogle Maps APIのように突然の有料化(一定トラフィック以上だけどね)なんかが来た時に怖いからAPIの利用はそこそこにしようと心に決めました。

おまけ

新しい仕様は旧来のようにBingデベロッパーでAppIDを取得するだけでは動かず、有効期限が10分間のアクセストークンなるものをAzureから取得する必要があります。アクセストークの取得はこちらとかこちらをご覧いただければわかるでしょう。

そしてAPIさわってていつも思うのが「Perlのexampleがねぇよ・・・」ということ。なんというかPerlの凋落を実感しちゃいますよね・・・。まぁ今時まだPerl使ってる人なんて居ないでしょうしね・・・。ションボリ。で、取得したAccessTokenの頭に「Bearer」と付けて使えば以前と同じように使えます。

でPerlのアレが無いので参考になれば使ってください
Client ID(顧客ID)とClient Secret(顧客の秘密)を設定してアクセストークンを取得して10分間キャッシュするというようなPerlのCGIです。呼び出しはscriptタグで行なってjsのWindowsLiveAppIDという変数のなかに旧来で言うとこのAppIDのようなものが入るイメージになっています。

まぁ使う人いないだろうけどね。

TAG

P.1157