Tôi muốn thực hiện tương đương với ví dụ: this API explorer call bằng cách sử dụng google ruby API client.Truy cập API Google+ (Ruby) ở chế độ công khai
Đó nên được đơn giản:
require 'rubygems'
require 'google/api_client'
require 'httpadapter/adapters/net_http'
@client = Google::APIClient.new(
:key => MY_SIMPLE_API_SERVER_KEY,
:host => 'www.googleapis.com',
:http_adapter => HTTPAdapter::NetHTTPAdapter.new,
:pretty_print => false
)
@plus = @client.discovered_api('plus', 'v1')
status, headers, body = @client.execute(
@plus.people.list_by_activity,
'activityId' => 'z12nspyxxufislit423eex442zqpdtqnk',
'collection' => 'plusoners',
'maxResults' => '100',
'authenticated' => 'false'
)
public_activity = JSON.parse(body[0])
Tuy nhiên, đó execute
kết quả cuộc gọi trong ArgumentError: Missing access token.
tôi không muốn đăng nhập người dùng trong; Tôi chỉ muốn truy cập công khai dữ liệu. Làm thế nào để tôi làm điều này?
'@client.authorization = nil' hoạt động hoàn hảo cho nhu cầu của tôi. Tôi sẽ lưu ý rằng mặc dù 'execute' trả về một giá trị' Google :: APIClient :: Result' duy nhất, không phải là mảng 3 giá trị, do đó, trạng thái ', tiêu đề, body =' bit sai ('response.status',' response.headers' và 'response.body' làm việc mặc dù). Tôi sẽ gửi một lỗi cho điều đó. – Sai
@Sai: Câu trả lời của Jenny là từ phiên bản alpha cũ hơn của khách hàng. Phiên bản hiện tại trả về một đối tượng 'Result', như bạn nói. –