このエントリの大前提:
無いよりは全然良い。APIを提供していただいてありがとうございます!
前回のあらすじ
前回のエントリ見ろ
てなわけで
こんにちは。スクレイピングの対策は良いAPIの提供だと考える、鮎月(あゆつき) です。
コアサーバーV1のAPIを使用した開発作業に際し、ここがつらいという部分を紹介します。
不可解なPOST形式
まずはこちらのドキュメントをご覧ください。
当ドキュメントの各APIに、 ParamSampleとしてサンプルのコードを記載しておりますが、
JSON形式へ変換せず、全て「POSTのKey,Value形式」で送信して下さい。
サンプルのコードを記載しておりますが
JSON形式へ変換せず
「POSTのKey,Value形式」で送信
POSTのKey,Value形式
POSTのKey,Value形式
某友人Mは「声に出して読みたい日本語」だと言っていました。ドキュメントの言いたいことは分かるけど。
なんでJSON形式で受け取ってくれないの?
再三書いておりますがwww-form-urlencodedで送らないといけないこのAPI、自分で書くとちょっとややこしい。特に配列。
↓こういうデータを送るには
"param" : {
"no" [1,2],
}
...
↓これを送る必要がある
param[no][0]=1¶m[no][1]=2
言われれば確かにそうだけど、ってレベルなの感が一番腹立ちますよね
そもそも何でapplication/jsonで(ry
前略 ドキュメントさんへ
まずはこちらをご覧ください。
ドキュメントのスクリーンショットです (撮影日: 2024/10/11)
お分かりいただけたでしょうか。
サイドメニューと実際のドキュメントの記述順が一致していないことに。
キャーーーーーーーーッ (軽いホラーです。多分サブメニューは見出しの辞書順なんだろうけど、何でドキュメントと一緒の並びじゃないの?)
それと、パスワード指定とかの利用可能文字や文字数書いて……。わざわざコンパネログインとかマニュアル見るの手間が………。
返り値
メールアドレスやサイト設定の一覧を見るAPIとかならちゃんと適切に返してくれているんですが、問題は何かしらを作るAPIです。
例えばメールアドレスを作る際、ランダムパスワードを指定することができます。しかし、正常に実行できても返り値でそのパスワードは確認できません。
↓こんなのが返ってくるだけです
{
"status_code" : 200
"message" : ""
}
なんでよ! 作ったアドレスの情報、書いてくれてもいいじゃない!!
普通書かない? 私の触ったことのあるAPIがたまたま大体そうだっただけかもしれないけど!
番外編:あわよくば
APIキーを複数個作れるようにして、それぞれの利用可能APIや有効期限、IPアドレス制限を設定できるようにしてほしいです
最後に一言
API機能を提供しているWebレンタルサーバー、かなり少ないので非常に助かっています。
なので、もうちょっと、もうちょっとだけ利便性向上をお願いします。。。