2

내 앱에서 이미 로그인 (OAuth) 작업을하고 있는데, 지금하려는 것은 인증 된 사용자의 활동 목록 (예 : 상태 피드)을 가져 오는 것입니다.Google Plus와 Rails의 통합

사용자는 여기에 인증되는 그들의 사후에이 목록을 아래로 당겨 할 수있는 옵션을 가지고하는 것은 지금까지, 내 ​​코드입니다 : 여기

# User Model 
    def gplus 
    auth = authorizations.find_by_provider("gplus") 
    client = Google::APIClient.new(application_name: "AppName", application_version: '1.0', authorization: nil) 

    plus = client.discovered_api('plus', 'v1') 

    result = client.execute(
     key: API["gplus"][Rails.env]["secret"], 
     api_method: plus.people.get, 
     parameters: { 'collection' => 'public', 'userId' => 'me' } 
    ) 

    return result.data 
    end 

내가 (레일 콘솔)로 계속 실행 문제입니다

#<Google::APIClient::Schema::Plus::V1::Person:0x3fe649ed04bc 
DATA:{"error"=>{"errors"=>[{"domain"=>"usageLimits", "reason"=>"keyInvalid", "message"=>"Bad Request"}], "code"=>400, "message"=>"Bad Request"}}> 

나는 ...이 작동하지 않습니다 어떤 이유를 https://github.com/google/google-api-ruby-client을 사용하고?

답변

2

코드가 비슷하지만 아주 많습니다.

  1. auth 개체가 표시되지만 실제로 클라이언트에 전달되지 않습니다 (이 값을 nil로 설정 한 경우).
  2. 클라이언트 키를 API 키로 전달하면 문제가 발생할 수 있습니다. API 키는 API 콘솔의 '간단한 API 액세스'키를위한 것입니다. oAuth 2.0 토큰을 사용하는 경우 아무 것도 전달하지 않아도됩니다. 원하는 경우 Server 간단한 API 키를 전달할 수 있습니다. 이것은 실제로 다른 프로젝트에 대한 액세스 토큰을 사용하여 부정확하게 포착하므로 편리 할 수 ​​있지만 필수는 아닙니다. http://developers.google.com/+

    :
  3. 당신은

또한 plus.people.get에 대한 수집 인수를 지정의 Google+ API는 API 콘솔의 서비스에서 활성화되어 있는지 확인 할 필요가 없습니다