Instagram API を使って Like しようとすると OAuthPermissionsException
instagram apiを利用しようとしています。
いいね!に関するアクセス権を取得しようとしているのですが、
AccessTokenの取得は不自由なく完了し(認証時点でscope=likesを追加しました)、
テストしてみました。
http://www.dcrew.jp/ja-instagram-api-doc-v1/index.php/likes
curl -F 'access_token=1961041054.ec1e284.835d91aab88f4326a48eaac38555686d' \
https://api.instagram.com/v1/media/1029547297065157969_307880528/likes
その結果、下記のレスポンスが返ってきました。
{"meta":
{"error_type":"OAuthPermissionsException",
"code":400,
"error_message":"This request requires scope=likes,
but this access token is not authorized with this
scope. The user must re-authorize your application
with scope=likes to be granted write permissions."}
}
likesは間違いなく認証時に要求したので、なぜかと思い、developerページを確認したところ、
こんなチェックボックスがありました。
■ Enforce signed requests Requires the use of your Client Secret to sign all API requests. Use this option to instruct Instagram to check requests for a signature passed in the 'sig' parameter and validate it. This signature is a SHA256 hash of the endpoint and key/value pairs of all parameters for the request, using the Client Secret. If this option is set, calls with mismatched signatures will fail. This technique helps protect your OAuth Client from impersonation attempts from malicious developers. Only enable this option for server-to-server calls. See the Secure API Requests documentation for details.
関係ありそうだと思い、チェックを入れて再認証し実行したところ、
Invalid signed-request: Missing required parameter 'sig'
というエラーになりました。
頭を抱えており、英語は苦手ですが公式ドキュメントに飛んだところ、このようなページを見つけました。
これはドキュメント内の「いいね!を付ける」部分にリンクしてあったページです。
https://help.instagram.com/contact/185819881608116
ここを見ると、ライセンスうんぬんが書いてあるのですが、
一番下のラジオボタンをいろいろいじってみたところ、一般的にはアクセスが許可されていないということなのでしょうか?
また、「許可されていないなら、Selenium使って無理やりいいね!つけてやる」
というのはまずいことでしょうか?
直接開発とは関係の無い話かもしれませんが、よろしくお願いします。