この度、rubyでアクセストークンの更新を実現したく質問させていただきました。
ドキュメントでTokenエンドポイントアクセス時にはBasic認証が必要とのことなので「アプリケーション登録時に発行されたアプリケーションIDとシークレットを「:」(コロン)でつなぎ、Base64でエンコードしたものをAuthorizationヘッダーに乗せてアクセスしてください。」ということで以下のコードを書いて実行しました。
■コードサンプル
uri = URI.parse("https://auth.login.yahoo.co.jp/yconnect/v1/token")
https = Net::HTTP.new(uri.host, 443)
https.use_ssl = true
encode_str = #アプリケーションID + ":" + #シークレットID
#base64でエンコード
encode_basic_auth = Base64.encode64(encode_str.dup)
request = Net::HTTP::Post.new(uri.path)
request['Authorization'] = encode_basic_auth
request.add_field('Content-Type', 'application/x-www-form-urlencoded')
request.set_form_data({"grant_type"=>"refresh_token","refresh_token"=>#リフレッシュトークン})
res = https.request(request)
p res.body
上記のサンプルを実行したところレスポンスには
「ページが表示できません」
「障害が発生しているため、しばらくしてから、再度アクセスしてください。」
というメッセージが帰ってきました。
上記のコードが正しくない為に帰ってきたエラーメッセージだと考えています。
初歩的なところでわかってないかもしれません。ご教示いただけると大変助かります。
よろしくお願い致します。