google-api-ruby-client을 사용하여 CurrentLocation을 Google Latitude로 업데이트하려고합니다.google-api-ruby-client를 사용하여 CurrentLocation의 Google 위치 찾기를 업데이트하려고하면 "잘못된 값 400"이 반환됩니다.
이미 액세스 토큰이 있으며 모바일 앱에서 가져 와서 Ruby on Rails의 서버에서 보낸 새로 고침 토큰입니다. 다음은 실행하려는 코드입니다.
client = Google::APIClient.new(:key => gltoken)
client.authorization.client_id = '<my client id>'
client.authorization.client_secret = '<my client secret>'
client.authorization.access_token = "<the access token i ve>"
client.authorization.refresh_token = "<refresh token i ve>"
client.authorization.scope ='https://www.googleapis.com/auth/latitude.all.best https://www.googleapis.com/auth/latitude.current.best'
client.host = "www.googleapis.com"
latitudeapi = client.discovered_api('latitude', 'v1')
result = client.execute(
:api_method => 'latitude.currentLocation.insert',
:parameters => {
'kind' => 'latitude#location',
'latitude'=>37.420352,
'longitude'=>-122.083389,
'accuracy'=>130,
'altitude'=>35
}
)
logger.debug("Response #{result.body}")
result.body
나는 다음과 같은 결과를 얻고있다 :
{"message":"{\"error\":{\"errors\":[{\"domain\":\"global\",\"reason\":\"invalid\",\"message\":\"Invalid Value\"}],\"code\":400,\"message\":\"Invalid Value\"}}"}
내가 통과 값이 무효 인 알아낼 수 없습니다입니다. 아래의 값과 동일한 값을 https://www.googleapis.com/latitude/v1/currentLocation?key=으로 업데이트하려고 시도했습니다.
헤더 :
Content-Type: application/json
Authorization: Bearer <My access token>
Host: googleapis.com
바디 : 사전에
{
"data": {
"kind":"latitude#location",
"latitude":37.420352,
"longitude":-122.083389,
"accuracy":130,
"altitude":35
}
}
감사합니다.