我想做相當於例如this API explorer call使用google ruby API client。在公共模式下訪問Google+(Ruby)API
那應該很簡單:
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])
然而,在ArgumentError: Missing access token.
execute
通話效果我不要登錄用戶;我只想訪問公開的數據。我該怎麼做呢?
'@client.authorization = nil'完全適合我的需求。我會注意到雖然'execute'返回一個'Google :: APIClient :: Result'值,而不是3值數組,所以'status,headers,body ='位是錯誤的('response.status','' response.headers'和'response.body'雖然可以工作)。我會爲此提出一個錯誤。 – Sai 2012-01-10 02:28:32
@Sai:Jenny的回答來自舊版本的客戶端。正如你所說,當前版本返回一個「Result」對象。 – 2012-01-10 06:40:03