2014-11-18 1 views
0

hybridauth를 통해 Google+ API를 사용하는 앱을 만들고 싶습니다.laravel/hybridauth를 통한 Google API 사용

Google 개발자 콘솔을 통해 생성 된 Google의 clientID 및 secretKey로 이미 구성된 hybridauth의 atticmedia/anvard 버전을 사용하고 있습니다.이 정보는 laravel의 config 폴더 안에있는 hybridauth.php 파일에 삽입했습니다.). 나는 범위를 설정했다 (구글이 제안한 것처럼).

"scope" => "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email", 

나는 laravel 경로에서 다음을 수행하십시오

if (!$hybridauth->isConnectedWith('Google')) { 
    $adapter = $hybridauth->authenticate('Google'); 
} 
else { 
    $adapter = $hybridauth->getAdapter('Google'); 
} 

$profile = $adapter->getUserProfile(); 

지금까지이 모든 것이 잘 어울린다. 프로파일은 var_dump() 함수를 사용하여 올바르게 인쇄됩니다. 이제 로그인 한 것으로 가정 할 수 있습니다. 이제 Google API (예 : this)로 전화를 걸고 싶습니다.

this 페이지에 도시 된 바와 같이
$answer= $adapter->api()->api('/people', 'get', array(
             'query' => 'Google' 
            )); 

, I는 호출을 수행하기 위하여 API() 메소드를 사용할 수있다 : 동일한 laravel 경로에서, 사용자의 프로파일을 인쇄 후, 다음을 수행. 하지만 인쇄 할 수있는 유일한 결과는 "NULL"입니다. 나는 어쨌든 요청이 정확하지 않다고 생각하지만, 거의 모든 것을 시험해 보았고 laravel/hybridauth와 함께 Google API의 "실제"예제를 아직 찾지 못했습니다.

답변

0

hybridauth에서 $adapter->api을 호출하면 Google API에 액세스 할 때 전체 HTTP URL 요청을 사용해야합니다.

페이스 북과 같은 다른 서비스에 대한
$answer= $adapter->api()->api('https://www.googleapis.com/plus/v1/people/me'); 

, 당신은

$answer= $adapter->api()->api('/me'); 

내가 Laravel 4.2.11 및 hybridauth dev-master을 사용하고 할 필요가 없습니다

참조 : http://hybridauth.sourceforge.net/userguide/tuts/advanced-access-google-api.html

+0

감사에 대한 너의 흥미. 동일한 결과 (이미 API 내부에 전체 API 주소를 삽입하려고 시도 함)를 사용하여 제안 사항을 이미 테스트했습니다. 나도 Laravel 4.2를 사용하고 있지만, 나는 hybridauth의 atticmedia/anvard 버전을 사용하기 시작했고, 개발의 현재 상태에서는 처음부터 다시 시작하는 것이 좋지 않다고 생각한다. –

+0

이 패키지는'https : // github.com/artdarek/oauth-4-laravel'을 사용합니다 –

+0

다시 한번 감사드립니다. 어쩌면 나는 테스트 환경에서 그것을 시도 할 수있다. Facebook, Twitter 및 Linkedin에서 소셜 기능을 로깅하고 사용하는 데 이미 성공했지만 Google은 여전히 ​​문제가 남아 있습니다. ( –