适用于PHP的Google API客户端库提供对许多Google API的访问。它专为PHP客户端应用程序开发人员设计,提供简单,灵活,强大的API访问。
Display & Video 360 无权尝试对具有 ID 的合作伙伴进行操作
我们已在 Google PHP API 客户端中实施了适用于 Display & Video 360 的 Google API。 当我们执行 API 时,它会返回以下错误响应: { “错误”: { “代码”:403, ”
google php 客户端库因 cURL 错误 6 导致身份验证中断
我有 google api-php-client,但无法登录,因为总是出现错误: [2017 年 11 月 2 日 15:30:52 欧洲/赫尔辛基] ***开始*** scripto\CustomException: [0: E_CUSTOM: 抑制或自定义错误] cURL
在 php 中创建 google 用户:无权访问此资源/api
我想从 PHP google 库为我的组织创建一个 google 工作区用户,但我的代码显示 403 错误: {“错误”:{“代码”:403,“消息”:“未验证...
我目前正在将 Google Calendar API 用于网络应用程序。但是,每小时都会提示我一个链接来验证快速启动访问。 细节: 我创建了一个新的 Gmail ID:redu@gmail....
我正在使用 php Google Drive 库在 Google Drive 内创建文件夹,目前我正在将其权限设置为任何人,这不是我需要的。我只想要该驱动器的所有者,并且...
我希望有人能指出我正确的方向。我使用 Google Calendar API 成功提取了事件、日历、多个日历等。然而,结果显示每一个......
如何在 Google Content API(购物)中插入 customBatch
我正在尝试在 Google Merchant Center 上插入产品。我目前正在使用 Google API PHP 客户端,并且无法在任何类和扩展它的类中找到 toSimpleObject 函数。 $t...
我正在尝试使用 PHP 中的谷歌视频智能从 YouTube 视频中获取标签 这是我的代码 需要 __DIR__ 。 '/vendor/autoload.php'; 使用 Google\Cloud\VideoIntelligence\V1\
Google PHP API 客户端要求失败(不使用 Composer)
我从这里下载了Google API库https://github.com/googleapis/google-api-php-client。我解压它并将其上传到我的服务器“/etc/”。然后我将路径放入脚本中: 需要...
我的要求有什么问题吗? 我有俄语字符串: $string = Потенциал, % 我想用 google API 将其翻译为乌克兰语: 我对字符串进行编码: $q = urlencode($字符串) 我请求谷歌...
使用 Youtube PHP API V3 的官方可断点视频上传导致内存泄漏
我尝试使用 API V3 将 PHP 中的大文件上传到 Youtube。 我刚刚从那里复制了官方代码。 它非常适合小型上传(<100Mo). But when I try to upload large files, it
使用 Google Drive PHP 库从 id 获取文件名
我正在通过服务帐户使用 Google PHP 库,并且尝试使用文档 ID 获取共享团队驱动器中文档的名称。该服务帐户是
我正在尝试创建一个服务端 PHP 应用程序,它只返回我的 Youtube 频道成员的列表。文档没有给出关于如何具体使用此范围的明确示例...
如何在 Google Analytics 4 中检索帖子/页面的页面浏览量?
我有这个页面浏览计数器,显示当前帖子的浏览次数。我正在使用适用于 PHP 的 Google API 客户端库,它与 Google Analytics UA 配合得很好,但现在 GA4 已经确定了......
如何为 $plus->people->get('me') 调用指定字段?
使用 Google API PHP 客户端库,我使用以下代码,该代码运行良好,并打印有关通过 OAuth2 授权我的应用程序的用户的大量信息: 使用 Google API PHP 客户端 库,我使用以下代码,该代码运行良好,并打印有关通过 OAuth2 授权我的应用程序的用户的大量信息: <?php require_once('google-api-php-client-1.1.7/src/Google/autoload.php'); const TITLE = 'My amazing app'; const REDIRECT = 'https://example.com/myapp/'; session_start(); $client = new Google_Client(); $client->setApplicationName(TITLE); $client->setClientId('REPLACE_ME.apps.googleusercontent.com'); $client->setClientSecret('REPLACE_ME'); $client->setRedirectUri(REDIRECT); $client->setScopes(array(Google_Service_Plus::PLUS_ME)); $plus = new Google_Service_Plus($client); if (isset($_REQUEST['logout'])) { unset($_SESSION['access_token']); } if (isset($_GET['code'])) { if (strval($_SESSION['state']) !== strval($_GET['state'])) { error_log('The session state did not match.'); exit(1); } $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); header('Location: ' . REDIRECT); } if (isset($_SESSION['access_token'])) { $client->setAccessToken($_SESSION['access_token']); } if ($client->getAccessToken() && !$client->isAccessTokenExpired()) { try { $me = $plus->people->get('me'); # HOW TO SPECIFY FIELDS? $body = '<PRE>' . print_r($me, TRUE) . '</PRE>'; } catch (Google_Exception $e) { error_log($e); $body = htmlspecialchars($e->getMessage()); } # the access token may have been updated lazily $_SESSION['access_token'] = $client->getAccessToken(); } else { $state = mt_rand(); $client->setState($state); $_SESSION['state'] = $state; $body = sprintf('<P><A HREF="%s">Login</A></P>', $client->createAuthUrl()); } ?> <!DOCTYPE HTML> <HTML> <HEAD> <TITLE><?= TITLE ?></TITLE> </HEAD> <BODY> <?= $body ?> <P><A HREF="<?= REDIRECT ?>?logout">Logout</A></P> </BODY> </HTML> 但是我需要的信息比上面脚本返回的信息要少。 仅在 People: get“API explorer”中输入我感兴趣的字段时: id,gender,name,image,placesLived 这再次运行良好并且仅打印指定的字段: 我的问题: 如何指定上面$me = $plus->people->get('me');调用中的字段? 学习1.1.7/src/Google/Service/Plus.php后使用代码: /** * Get a person's profile. If your app uses scope * https://www.googleapis.com/auth/plus.login, this method is * guaranteed to return ageRange and language. (people.get) * * @param string $userId The ID of the person to get the profile for. The * special value "me" can be used to indicate the authenticated user. * @param array $optParams Optional parameters. * @return Google_Service_Plus_Person */ public function get($userId, $optParams = array()) { $params = array('userId' => $userId); $params = array_merge($params, $optParams); return $this->call('get', array($params), "Google_Service_Plus_Person"); } 我尝试过以下 PHP 代码: const FIELDS = 'id,gender,name,image,placesLived'; $me = $plus->people->get('me', array('fields' => urlencode(FIELDS))); 但由于某种原因它打印了很多:protected字符串: Google_Service_Plus_Person Object ( [collection_key:protected] => urls [internal_gapi_mappings:protected] => Array ( ) [aboutMe] => [ageRangeType:protected] => Google_Service_Plus_PersonAgeRange [ageRangeDataType:protected] => [birthday] => [braggingRights] => [circledByCount] => [coverType:protected] => Google_Service_Plus_PersonCover [coverDataType:protected] => [currentLocation] => [displayName] => [domain] => [emailsType:protected] => Google_Service_Plus_PersonEmails [emailsDataType:protected] => array [etag] => [gender] => male ... 我也尝试过在 me: 之后附加字段 $me = $plus->people->get('me?fields=' . urlencode(FIELDS))); 但是收到 404 错误: 调用 GET 时出错 https://www.googleapis.com/plus/v1/people/me%3Ffields%3Did%252Cgender%252Cname%252Cimage%252CplacesLived: (404) 未找到 更新:我在 GitHUb 创建了Issue #948。 要指定从 G+ API 获取哪些字段,您只需在选项数组中指定一个 fields 成员。所以实际上你已经非常接近解决方案了: $me = $plus->people->get('me', array('fields' => 'id,gender,name,image,placesLived')); 您甚至不必urlencode,因为这是库本身的默认安全功能。 可能欺骗您的是,Google_Service_Plus_Person类包含受保护成员的所有可能字段,而不考虑 API 发送的实际字段。未包含的字段在对象中将为空。与往常一样,类的用户不应以任何方式使用受保护的成员。 作为图书馆的用户,您只能使用公共成员,例如$me->getPlacesLived()和$me->getId()。在开发过程中转储整个对象是一个很好的工具,但在生产中调用公共接口才是正确的方法。
我正在尝试将文件获取到谷歌驱动器 我想出使用示例来获取文件列表 与“ID 客户端 OAuth 2.0” 一旦我获取了“tokenID”,它就只能工作一次,我想就是这样
我想创建一个使用 Google Drive 作为存储的网络应用程序,并且我正在使用 Google API,但我在身份验证方面遇到问题。 我已选择服务帐户作为真实帐户...
我正在尝试从 FCM Legacy API 迁移到 FCM V1 API。我设法使用 FCM V1 API 完美地向设备令牌发送通知,但我不知道如何为用户订阅主题。 我是你...
当播放列表项超过 50 个时,如何搜索带有视频 ID 的播放列表项
当搜索具有特定视频ID的播放列表项时,youtube-api似乎只在50个最新的播放列表项中搜索。 我的播放列表中有超过 1000 个项目,正在寻找一个项目...
Google Drive API“drives.list”返回错误 400“无效查询”
我正在尝试使用服务帐户通过 Google API 查看和访问共享云端硬盘。 我使用 PHP 和 google/apiclient 版本 v2.16.0 库来访问 API。 这是我的代码示例: $