【问题标题】:Guzzle Sends HTTP request to Google API, server 500 errorGuzzle 向 Google API 发送 HTTP 请求,服务器 500 错误
【发布时间】:2017-10-24 04:30:32
【问题描述】:

我使用 Guzzle 向 Gmail API 发送 HTTP 请求。

这部分一直导致服务器500错误,这是为什么?

$data = new stdClass; 
$data-> 'topicName' ='projects/sample.com:sample/topics/topic';   
$data-> 'labelIds' = ["INBOX"];
$data-> 'labelFilterAction' = 'include'; 

完整代码:

    require_once __DIR__.'/vendor/autoload.php';
    $client = new Google_Client();
    $client->setScopes("https://www.googleapis.com/auth/gmail.readonly");
    putenv('GOOGLE_APPLICATION_CREDENTIALS=sample.json');
    $client->useApplicationDefaultCredentials();
    // returns a Guzzle HTTP Client
    $httpClient = $client->authorize();
    $data = new stdClass; 
    $data->'topicName' ='projects/sample.com:sample/topics/topic';   
    $data-> 'labelIds' = ["INBOX"];
    $data-> 'labelFilterAction' = 'include';
    $request = new GuzzleHttp\Psr7\Request('POST', 'https://www.googleapis.com/gmail/v1/users/post@sample.com/watch',['Content-type'=>'application/json'],$data);
    $response = $httpClient->send($request);

    var_dump($response);

【问题讨论】:

    标签: php gmail-api guzzle


    【解决方案1】:

    $data 对象的属性不应该有单引号。

    应该是:

    $data->topicName ='projects/sample.com:sample/topics/topic';   
    $data->labelIds = ["INBOX"];
    $data->labelFilterAction = 'include';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      相关资源
      最近更新 更多