0

假设我的access_token和我TEST_CHANNEL_ID的都是正确的,这个请求不应该有效吗?

我收到 404 错误,我是否缺少某些参数?

uri = URI.parse("https://www.googleapis.com")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new("/youtube/analytics/v1/reports")
request.body = URI.encode_www_form({"Authorization" => "Bearer #{access_token}", "ids" => "channel==#{TEST_CHANNEL_ID}", "start-date" => "2015-07-01", "end-date" => "2015-07-20", "metrics" => "views"})

response = http.request(request)

值得一提的是,我获得了所有 youtube api 范围access_token的授权refresh_token

4

1 回答 1

1

如果您将访问令牌作为 URL 参数传递,则参数的名称应为“access_token”,并且您不需要字符串的“Bearer”部分;它只是:

request.body = URI.encode_www_form({"access_token" => "#{access_token}", "ids" => "channel==#{TEST_CHANNEL_ID}", "start-date" => "2015-07-01", "end-date" => "2015-07-20", "metrics" => "views"})

Authorization: Bearer {whatever}仅当您在请求标头中设置访问令牌时才使用该表单。

这是有关此的文档

于 2015-07-09T05:22:04.607 回答