Ich arbeite an einem Projekt, bei dem ich mehrere Labels mit jeder E-Mail verknüpft habe. Ich möchte die Labels mithilfe der Google Mail-PHP-API entfernen. Ich habe die Dokumentation verfolgt und alle Schritte ausgeführt. Aber ich weiß nicht, warum ich Fehler erhalte, wenn ich versuche, das Etikett zu entfernen.Etikett in GMAIL PHP API kann nicht entfernt werden
Dies ist der Code, der dem Projekt zugeordnet ist. Bitte helfen Sie mir mit irgendwelchen Gedanken.
$client_id = '[email protected]';
$service_account_name = '[email protected] 130612.iam.gserviceaccount.com';
$key_file_location = 'anthony.p12';
$userid_from='[email protected]';
$client = new Google_Client();
var_dump($client);
$client->setScopes(array('https://www.googleapis.com/auth/gmail.modify'));
$client->setApplicationName("Client_Library_Examples");
if (isset($_SESSION['service_token'])) {
$client->setAccessToken($_SESSION['service_token']);
}
$key = file_get_contents($key_file_location);
$cred = new Google_Auth_AssertionCredentials(
$service_account_name,
array(
/*
'https://www.googleapis.com/auth/gmail.send',
'https://www.googleapis.com/auth/gmail.compose',
'https://www.googleapis.com/auth/gmail.modify',
*/
'https://www.googleapis.com/auth/gmail.readonly'
),
$key
);
//var_dump($cred);
$cred->sub=$userid_from; //<-- Important!
$client->setAssertionCredentials($cred);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}
$service = new Google_Service_Gmail($client);
$messageId=$_REQUEST["id"];
$userId = 'me';
$optParamsGet = [];
$optParamsGet['format'] = 'full';
$message = $service->users_messages->get('me',$messageId,$optParamsGet);
$labelsToRemove=$_REQUEST['label'];
$labelsToAdd=[];
$message=modifyMessage($service,$userId, $messageId, $labelsToAdd, $labelsToRemove);
function modifyMessage($service, $userId, $messageId, $labelsToAdd, $labelsToRemove) {
$mods = new Google_Service_Gmail_ModifyMessageRequest();
$mods->setAddLabelIds($labelsToAdd);
$mods->setRemoveLabelIds($labelsToRemove);
try {
$message = $service->users_messages->modify($userId, $messageId, $mods);
print 'Message with ID: ' . $messageId . ' successfully modified.';
return $message;
} catch (Exception $e) {
print 'An error occurred: ' . $e->getMessage();
}
}
Dies ist der Fehler, den ich bekam Ein Fehler ist aufgetreten: Fehler beim Aufruf von POST https://www.googleapis.com/gmail/v1/users/me/messages/156d80449f28bd94/modify: (403) Unzureichende Berechtigung –