特定のハッシュタグの最新の投稿を取得するために1日1回実行されるrakeタスクでInstagramgemを使用したいと思います。
Instagram APIのドキュメントを見ると、意味のあることを行うにはaccess_tokenが必要です。
ドキュメントには、「curl」を使用してaccess_tokenを取得する例が示されていますが、その例をrubyに変換する方法を考えているので、railsアプリにまだトークンがない場合は、この方法で取得できます。
これは、InstagramAPIの次のページにあるcurlの例です。
curl \-F 'client_id=CLIENT-ID' \
-F 'client_secret=CLIENT-SECRET' \
-F 'grant_type=authorization_code' \
-F 'redirect_uri=YOUR-REDIRECT-URI' \
-F 'code=CODE' \https://api.instagram.com/oauth/access_token
If successful, this call will return a neatly packaged OAuth Token that you can use to make authenticated calls to the API. We also include the user who just authenticated for your convenience:
{
"access_token": "fb2e77d.47a0479900504cb3ab4a1f626d174d2d",
"user": {
"id": "1574083",
"username": "snoopdogg",
"full_name": "Snoop Dogg",
"profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg"
}
}
uriでURI.parse()とopen()のようなものを使用できると思っていましたが、それではうまくいかないようです。それを試してみると404が出ます。