2012-05-30 5 views
1

Мое требование - получить 20 ссылок для поискового запроса на google.com. Я использую Google-api-client! для рубина.Google-api-клиент запрашивает токен доступа

Здесь идет код, который я использую,

require 'google/api_client' 
client = Google::APIClient.new 
response = client.execute(
    search.cse.list, 'key' => '<My Key>', 'cx' => '013036536707430787589%3A_pqjad5hr1a', 'alt' => 'json', 'q' => 'hello world' 
) 

Теперь я столкнулся с тремя проблемами,

  1. Я хочу использовать по умолчанию поиск Google, так что должно быть значение «сх»? Один из них, который я использовал, от https://developers.google.com/custom-search/v1/using_rest#cx
  2. Я не получаю никаких результатов, вместо этого получаю следующее предупреждение «ArgumentError: Отсутствует токен доступа». Я решил эту проблему, используя фиктивный токен, определив «client.authorization.access_token = '123». Но я не уверен, если это правильное решение или нет.
  3. После того, как я определяю access_token, я все равно не получаю результата. Вместо этого вы получите предупреждение «Недействительные учетные данные». Но если я использую тот же URL (сгенерированный api), в браузере я получаю результаты.

ответ

9

Вместо установки фиктивный маркер доступа, просто установить механизм авторизации всухую:

client.authorization = nil 

Таким образом, он не будет посылать заголовок авторизации и просто полагаться на ключ API для идентификации вашего приложение.

Смежные вопросы