При попытке получить Контакты Google через API PeopleV1 в Ruby Rails, почему я получаю «ArgumentError: unknown keyword: person_fields»? - PullRequest
0 голосов
/ 09 декабря 2018

Мне трудно интегрировать Контакты Google в мое приложение Ruby (версия 2.2.10) на Rails 5 (версия 5.1.5).

Когда я выполняю следующий блок кода, я получаю "ArgumentError: неизвестное ключевое слово: person_fields ".

people  = Google::Apis::PeopleV1::PeopleService.new
people.authorization = auth_client
response = people.list_person_connections('people/me', page_size: 10, 
person_fields: 'names,emailAddresses')

Чтобы устранить проблему, я попытался использовать следующие версии gem:

gem 'google-api-client', '~> 0.11'

gem 'google-api-client', '~> 0.8'

gem 'google-api-client'

Я все еще получаю сообщение об ошибке, независимо от того, какая версиядрагоценный камень, который я использую.

Ниже приведен полный код:

require 'google/apis/people_v1'
require 'google/api_client/client_secrets'

client_secrets = Google::APIClient::ClientSecrets.load 'client_secret_1088824912015-f8asojku302s0mvcijgj7takse8pg8rg.apps.googleusercontent.com.json' 

auth_client = client_secrets.to_authorization

auth_client.update!( :scope => 'https://www.googleapis.com/auth/contacts.readonly', :redirect_uri => 'http://localhost:3000/oauth2callback', :additional_parameters => { "access_type" => "offline", "include_granted_scopes" => "true" } )

auth_uri = auth_client.authorization_uri.to_s


# To exchange an authorization code for an access token, use the fetch_access_token! method:

auth_client.code = #auth_code#
auth_client.fetch_access_token!

people  = Google::Apis::PeopleV1::PeopleService.new

people.authorization = auth_client

response = people.list_person_connections('people/me', page_size: 10, person_fields: 'names,emailAddresses')

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Просто чтобы прояснить для любых будущих читателей, Рэй Баксте связался с документами, соответствующими версии 0.9.19 драгоценного камня google-api-client - текущая версия 0.27.1

Я использую 0.26.0 иправильный аргумент - person_fields - это явно изменилось где-то между 0.9.19 и 0.26.0

Я следую документации в сгенерированных определениях метода API: https://github.com/googleapis/google-api-ruby-client/blob/0.27.1/generated/google/apis/people_v1/service.rb#L591

0 голосов
/ 09 декабря 2018

Правильный атрибут fields, а не person_fields.Смотри документы здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...