Mastodon のAPIをたたこうとしているのですが、ちょっとよく分からない現象が発生しています。
アプリケーションを登録するURLが、
https://[instance]/api/v1/app
となっており、この場所に必要な情報をPOSTする必要があります。それで、以下のプログラムを書きました。
これを実行すると、something went wrong!というhtmlファイルが返却されます。また、このページにFirefoxでアクセスすると、404 not foundとなります。
#include "hspinets.as"//https 対応 netinit neturl "https://mastodon.social/api/v1/" prm="client_name=\"test app\"&redirect_uris=\"urn:ietf:wg:oauth:2.0:oob\"&scopes=\"read write follow\"" netrequest_post "apps",prm a=0 b=0 repeat netexec a if a<0:b=1:break//失敗 if a>0:b=0:break//成功 await 1 loop if b=1:dialog "error":end netgetv data bsave "ret.txt",data,strlen(data) dialog data end
なのですが、不思議なことに、Ubuntuからcurlしてみると
% curl -X POST -sS https://mastodon.social/api/v1/apps
{"error":"Validation failed: Name can't be blank, Redirect URI can't be blank"}%
となって、JSONが帰ってきています。これは、内部的にはどういう違いがあってこうなっているのでしょうか?できればHSPからやりたいです。
よろしくお願いします。