在实现GMAIL Api php的第79行的REST.php中有400个错误请求

在实现GMAIL Api php的第79行的REST.php中有400个错误请求,php,gmail,gmail-api,Php,Gmail,Gmail Api,在实现GMAIL Api php的第79行的REST.php中,我收到了400个错误请求 我使用了以下代码来实现: // Get the API client and construct the service object. $client = new Google_Client(); $client->setDeveloperKey(API_KEY); $client->setClientId(OAUTH_CLIENT_ID); $client->setClientSecr

在实现GMAIL Api php的第79行的REST.php中,我收到了400个错误请求

我使用了以下代码来实现:

// Get the API client and construct the service object.
$client = new Google_Client();
$client->setDeveloperKey(API_KEY);
$client->setClientId(OAUTH_CLIENT_ID);
$client->setClientSecret(OAUTH_CLIENT_SECRET);
$client_email = MY_SERVICE_ACCOUNT_ID;
$private_key = file_get_contents('MYP12.p12');
$scopes = array(
                    'https://www.googleapis.com/auth/userinfo.email',
                    'https://mail.google.com'
                );
$credentials = new Google_Auth_AssertionCredentials(
    $client_email,
    $scopes,
    $private_key
);
$client->setApplicationName("Gmail Sample");
$client->setAssertionCredentials($credentials);
 //Refresh the token if it's expired.
if ($client->getAuth()->isAccessTokenExpired()) {
    $client->getAuth()->refreshTokenWithAssertion();
}
$token = $client->getAccessToken();
$client->setAccessToken($token);
$service = new Google_Service_Gmail($client);
$user = 'me';

$date_last = date('Y-m-d');
$newdate = strtotime('-1 day', strtotime($date_last));
$newdate = date('Y-m-d', $newdate);

$q = " 'after:".$newdate."'";
$messagesResponse = $service->users_messages->listUsersMessages($user, ['maxResults'=>1000 , 'q'=> $q]);
echo '<pre>';
print_r($messagesResponse);exit;
//获取API客户端并构造服务对象。
$client=新的Google_客户端();
$client->setDeveloperKey(API_键);
$client->setClientId(OAUTH\u client\u ID);
$client->setClientSecret(OAUTH_client_SECRET);
$client\u email=MY\u SERVICE\u ACCOUNT\u ID;
$private_key=file_get_contents('MYP12.p12');
$scopes=数组(
'https://www.googleapis.com/auth/userinfo.email',
'https://mail.google.com'
);
$credentials=新的谷歌认证断言(
$client_电子邮件,
$scopes,
$private_key
);
$client->setApplicationName(“Gmail示例”);
$client->setAssertionCredentials($credentials);
//如果令牌已过期,请刷新该令牌。
如果($client->getAuth()->isAccessTokenExpired()){
$client->getAuth()->refreshTokenWithAssertion();
}
$token=$client->getAccessToken();
$client->setAccessToken($token);
$service=新的Google\u服务\u Gmail($client);
$user='me';
$date_last=日期('Y-m-d');
$newdate=strottime('-1天',strottime($date_last));
$newdate=日期('Y-m-d',$newdate);
$q=“”在“.$newdate.”之后;
$messagesResponse=$service->users\u messages->listUsersMessages($user,['maxResults'=>1000,'q'=>$q]);
回声';
打印(消息响应);出口
致命错误:未捕获的异常“Google\u服务\u异常”与 调用GET时出现消息“”错误 https‍://www.googleapis.com/gmail/v1/users/me/messages?maxResults=1000&q=+%27after%3A2017-12-26%27&key=[API_-key]: (400)中的“错误请求” C:\wamp\www\google\google\u calendar\src\google\Http\REST.php,第79行


您必须用您的凭据替换API_密钥、OAUTH_客户端_ID、OAUTH_客户端_机密、[MY_SERVICE_ACCOUNT_ID]


[MY\u API\u KEY]
是您发送给谷歌的密钥还是您更换了此帖子的密钥?密钥发送给谷歌。这不起作用,您需要创建一个谷歌帐户并获得自己的API密钥实际上,我没有发送API密钥,它会自动被Gmail调用。使用OAuth 2.0凭据,它将完美地工作,但使用服务帐户,我得到上述错误。我知道我没有发布我的原始凭据
$client->setDeveloperKey(API_KEY);
$client->setClientId(OAUTH_CLIENT_ID);
$client->setClientSecret(OAUTH_CLIENT_SECRET');
$client_email = '[MY_SERVICE_ACCOUNT_ID]';