【问题标题】:Gmail API php listUserMesages() nullGmail API php listUserMesages() null
【发布时间】:2017-08-20 13:58:38
【问题描述】:

我正在使用 PHP 对 Gmail API 进行非常基本的测试。我正在使用 Google 提供的代码(在通过 OAuth 成功授权后,然后在 API 工作台上成功运行 -- 代码 200 -- 测试运行。我的错误是:

PHP 致命错误:在 null 上调用成员函数 listUsersMessages()

失败的那一行:

$messagesResponse = $service->users_messages->listUsersMessages($userId, $opt_param);

完整代码:

    $userId = 'my gmail id';
    $service = 'my api client id, for example,12356686375';
    $messages = listMessages($service,$userId);
/**
 * Get list of Messages in user's mailbox.
 *
 * @param  Google_Service_Gmail $service Authorized Gmail API instance.
 * @param  string $userId User's email address. The special value 'me'
 * can be used to indicate the authenticated user.
 * @return array Array of Messages.
 */
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 变量上。该变量应该初始化 Gmail 服务,而不是客户端 ID。

标签: php google-api gmail-api google-api-php-client


【解决方案1】:

正如@Morfinismo 所述,$service 变量应该初始化 Gmail 服务而不是客户端 ID。

应该是:

// Get the API client and construct the service object.
$client = getClient();
$service = new Google_Service_Gmail($client);

你可以关注这个quickstart

【讨论】:

    猜你喜欢
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 2019-09-19
    • 2014-11-27
    • 2016-03-04
    • 2014-10-30
    相关资源
    最近更新 更多