Неверные учетные данные при доступе к Google API для покупок
Я пытаюсь использовать гем google-api-client для доступа к API поиска Google для покупок. К сожалению, я не могу подтвердить подлинность, несмотря на создание access_token через консоль API Google.
Вот мой код:
client = Google::APIClient.new
client.authorization.access_token = "<MY_CONSOLE_ACCESS_TOKEN>"
client.authorization.scope = "https://www.googleapis.com/auth/shoppingapi"
shopping = client.discovered_api("shopping", "v1")
response = client.execute(api_method: shopping.products.list,
parameters: { source: "public" })
Когда я смотрю response.data
Я вижу сообщение об ошибке:
#<Google::APIClient::Schema::Shopping::V1::Products:0x809d6e14 DATA:{"error"=>{"errors"=>[{"domain"=>"global", "reason"=>"authError", "message"=>"Invalid Credentials", "locationType"=>"header", "location"=>"Authorization"}], "code"=>401, "message"=>"Invalid Credentials"}}>
Что я делаю неправильно?
1 ответ
Решение
Конечно, я выяснил это через несколько минут после публикации. Я поделюсь тем, что сработало для всех, у кого есть такой же вопрос.
client = Google::APIClient.new(authorization: nil)
shopping = client.discovered_api("shopping", "v1")
response = client.execute(key: "<MY_ACCESS_TOKEN>",
api_method: shopping.products.list,
parameters: { source: "public", country: "US" })