PHP 기능으로 Google Service API를 사용하는 방법에 대한 Google 문서의 몇 가지 단계를 수행했습니다.
지금까지 라이브러리와 비밀 키를 포함하여 수행했습니다. 마지막으로 마지막 단계에 도달했지만 로그인을 요청했습니다. 내 비밀번호와 Gmail 계정이 이미 있으므로 로그인을 요청하지 않고 내 메시지를 검색하고 싶습니다.
내 코드의 문제점은 무엇입니까? 당신은 말해 줄 수?
public function retrieving_message()
{
$client_id = '10521XXXX456-XXXXX.apps.googleusercontent.com'; //Client ID
$client_email = '[email protected]'; //Email Address
$key_file_location = 'API Project-0f1afd2a0615.p12'; //key.p12
$this->load->library('google');
$client = new Google_Client();
// Replace this with your application name.
$client->setApplicationName("API Project");
// Replace this with the service you are using.
// We only need permissions to compose and send emails
// $client->addScope("https://www.googleapis.com/auth/gmail.readonly");
$service = new Google_Service_Gmail($client);
$this->listMessages($service, '[email protected]');
}
메시지를받을 코드 :
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;
}
출력 :
An error occurred: Error calling GET https://www.googleapis.com/gmail/v1/users/hostplus.cam%40gmail.com/messages: (401) Login Required
이 코드는 당신을 도와줍니다.
$client->setApplicationName('API Project');
$client->setScopes(implode(' ', array(Google_Service_Gmail::GMAIL_READONLY)));
$client->setAuthConfigFile('key/client_secret.json');
$client->setAccessType('offline');
새 json 파일을 생성해야하지만 웹 또는 서비스를 선택하지 마십시오. 설치되었는지 확인하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다