【问题标题】:Fatal Error Using Google PHP Client Library使用 Google PHP 客户端库的致命错误
【发布时间】:2013-02-15 14:51:18
【问题描述】:

我正在使用Google's PHP client library 访问analytics API,但我不断收到错误,调用非对象上的成员函数。我被难住了一天多。我已经阅读了several solutions,但我不知道如何解决这个问题。

require_once "google-api-php-client/src/Google_Client.php";
require_once "google-api-php-client/src/contrib/Google_AnalyticsService.php";
session_start();

$client = new Google_Client();
$client->setApplicationName("app-name");
$client->setClientId('client-id');
$client->setClientSecret('my-secret');
$client->setRedirectUri('http://www.website.com/');
$client->setDeveloperKey('secret-key');

$analyticsService = new Google_AnalyticsService($client);
$dailyUploads = $analyticsService->dailyUploads;

这是(我认为Google recommends 设置它的方式,但是当我打印出 $dailyUploads 的内容时,它的内容为空/null。如果我打印出 $analyticsService,我会看到 Google_AnalyticsService 的代码。

稍后在我的代码中,经过身份验证后,我尝试像这样使用上传功能:

$upload = $dailyUploads->upload($media);

这会产生我之前提到的错误,致命错误:调用非对象上的成员函数 upload()。

有人可以帮忙吗?我忽略了什么?

【问题讨论】:

    标签: php google-api google-analytics-api


    【解决方案1】:

    我现在已经解决了这个问题。有两个问题:

    1. 自最近的稳定版本以来,Google_AnalyticsService.php 文件已更新,因此我链接到的代码实际上并未加载到我的项目中。我通过更新我的库以包含their website 上显示的代码解决了这个问题。

    2. 引用类的正确方法是“management_dailyUploads”。我更新了我的代码。

      $analyticsService = new Google_AnalyticsService($client);
      $dailyUploads = $analyticsService->management_dailyUploads;

      $upload = $dailyUploads->upload('123456', 'UA-123456-1', 'xXxXxXxX', 2013-02-15, 1, 'cost', array("reset" => true, " data" => file_get_contents('/path/to/file.csv'), "mimeType" => 'application/octet-stream', "uploadType" => 'media'));

    实施这些更新后,我的应用开始与 Google 的服务器通信。我现在有一个不同的问题要解决(我们不是总是这样吗?),但提示此线程的问题已解决,因此我将其标记为已回答。

    ps - 我不知道为什么这里的代码格式不正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-20
      • 2019-12-11
      相关资源
      最近更新 更多