我正在使用 Google Analytics API 构建网络应用程序,但在考虑实现时遇到了一些困难。
我允许用户从三个相互依赖的下拉菜单中选择他们的个人资料(想想国家->州->城市)。我正在使用 AJAX 从第一个下拉列表(国家/地区)中获取值,并尝试在外部 PHP 脚本中从 Google Analytics API 填充第二个下拉列表。
我试图通过 index.php 中的 $_SESSION 变量将 Analytics 对象 ($analytics) 转移到外部脚本,但我无法调用填充第二个下拉列表所需的 $analytics 函数。
我 var_dumped 变量,它最初告诉我它是一个不完整的 PHP 类,所以我序列化它并在两个类之间反序列化。然而,它仍然给我:
Fatal error: Call to a member function listManagementWebproperties() on a non-object
我想知道有没有办法做到这一点?
澄清一下:
在index.php
//create a session analytics object for use in external scripts
$_SESSION['analytics'] = serialize($analytics;) //used for API calls
以及在我的 AJAX 请求中抛出错误的外部脚本行,propertyID.php:
$analytics = unserialize($_SESSION['analytics']);
$webProperty = $analytics->management_webproperties->listManagementWebproperties($accountID); //the array used to populate the drop-down
编辑:这可能是 API 对象的问题吗?
最佳答案
我想这可能与某些使类不可序列化的 transient 数据有关。
我认为您必须在每次页面调用中创建 Google 对象,并在 $_SESSION 中仅序列化对创建这些实例有用的数据。
关于javascript - 如何将 Google Analytics 对象放入 PHP 脚本之间的 $_SESSION 变量中? (非对象错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23552115/