【发布时间】:2017-08-04 12:35:39
【问题描述】:
如果我在这个问题中遗漏了一些明显的东西,我们深表歉意......
我有一个 index.php 文件,用于初始化 Google 客户端、设置范围、创建服务并开始从 Google 租户中提取数据。这很好用。
<?php
require_once 'vendor/autoload.php';
const CLIENT_ID = MY CLIENT ID;
const CLIENT_SECRET = MY SECRET;
const REDIRECT_URI = REDIRECT URI;
session_start();
$client = new Google_Client();
$client->setApplicationName("My Application");
$client->setClientId(CLIENT_ID);
$client->setClientSecret(CLIENT_SECRET);
$client->setRedirectUri(REDIRECT_URI);
$client->setScopes('admin scopes');
$adminservice = new Google_Service_Directory($client);
我的问题是,我想从 AdminDirectory API 中获取用户 ID,然后将其传递到带有 GET 标记 ID 的新页面 user.php。
所以,例如:
<?php
$id = $adminservice->users->get(EMAIL)->id;
?>
<a href = 'user.php?id=<?php echo $id; ?>'>Click Here</a>
如何将我的 $client 变量转移到这个新的 user.php 页面?
我尝试将客户端放入 $_SESSION['client'] 中,然后将其提取到新页面上。我也尝试过重新初始化整个客户端。两者似乎都不起作用。
谢谢
【问题讨论】:
-
我知道“管理范围”不是有效范围,我只是缩短了实际范围。客户工作:)
-
您不能在页面请求之间传输实例,因为类的方法无法序列化。您需要使用相同的代码,
new Google_Client();。
标签: php google-api google-api-php-client