2017-09-04 13 views
-1

나는 단순히 내 자신의 Gmail 계정에 액세스하여 10 개의 최신 메시지를 검색하려고합니다. 나는 이것을 시도 할 수 있도록 인증하기가 힘듭니다. 지금 무엇을 https://developers.google.com/gmail/api/quickstart/phpGmail API PHP를 사용하여 자신의 데이터에 액세스하는 방법을 인증하는 방법은 무엇입니까?

모든 일을 나타나지만 :

나는 여기에 지침을 따랐? 설명서는 따라하기가 어렵습니다. API 호출은 API Explorer를 사용하여 작동하지만 PHP에서 oAuth 토큰에 어떻게 액세스해야합니까?

function listMessages($service, $userId) { 
    $pageToken = NULL; 
    $messages = array(); 
    $opt_param = array(); 
    do { 
    try { 
     if ($pageToken) { 
     $opt_param['pageToken'] = $pageToken; 
     } 
     $messagesResponse = $service->users_messages->listUsersMessages($userId, $opt_param); 
     if ($messagesResponse->getMessages()) { 
     $messages = array_merge($messages, $messagesResponse->getMessages()); 
     $pageToken = $messagesResponse->getNextPageToken(); 
     } 
    } catch (Exception $e) { 
     print 'An error occurred: ' . $e->getMessage(); 
    } 
    } while ($pageToken); 

    foreach ($messages as $message) { 
    print 'Message with ID: ' . $message->getId() . '<br/>'; 
    } 

    return $messages; 
} 

가 어떻게이 $service을받을 수 있나요 :

Google은 다음 exaple 기능을 제공? client_secrets.json에 저장된 키를 참조한다고 가정하지만 액세스하는 방법은 확실하지 않습니다.

이 질문은 다소 기본적인 질문이므로 (Google에서는 설명하지 않으므로)이 문제를 해결할 수있는 유일한 사람은 아닙니다.

감사합니다!

답변

0

당신은 공통의 캐치 22에 있습니다. 우리는 모두 그곳에 머물렀습니다.

Gmail API에 대한 문서를 읽을 수 있도록 Google API xxx (귀하의 경우 Gmail)를 사용하고 싶습니다. 그들은 링크와 함께 OAuth에 대한 통과 참조를하지만 거기에는 정보의 불이 나옵니다. 그래서 그것을 읽은 다음 다시 복사하여 붙여 넣기 할 샘플 코드가 필요한 Gmail 문서로 돌아갑니다.

불행히도 OAuth 문서로 돌아가서 몇 시간을 투자해야 할 것입니다. 인증과 권한 부여의 차이점을 스스로 설명 할 수 있기 때문에 언제 이해했는지 알 수 있습니다. 가장 큰 어려움은 대부분의 샘플 코드와 설명이 애플리케이션에 많은 사용자가 있고 각각 자신의 앱을 사용하여 자신의 이메일에 안전하게 액세스하려는 유스 케이스에 관한 것입니다. 단일 사용자가 자신의 전자 메일에 액세스하려는 사용 사례는 뚜렷한 사례이므로 잘 설명되어 있지 않습니다. 이 게시물은 How do I authorise an app (web or installed) without user intervention? (canonical ?)에 도움이 될 수 있습니다. 나는 GDrive 용으로 썼지 만 Gmail 용으로도 잘 작동 할 것입니다.