php - Gmail API php创建标签作为子标签
问题描述
我正在尝试使用方法创建一个 gmail 标签 true gmail php api 作为子标签:users.labels.create
正如在 Gmail api 参考中创建普通标签(不是子标签)效果很好。
不幸的是,参考文献中没有讨论创建子标签,也不清楚这是否可能!
// OAuth 2.0 to access Google API
if (isset($_SESSION['access_token']) && $_SESSION['access_token']){
require_once __DIR__.'/../../../../vendor/autoload.php';
$client = new Google_Client();
$client->setAuthConfig('../../../../apps/google-api-scripts/client_secrets.json');
$client->addScope(Google_Service_Gmail::GMAIL_READONLY);
$client->addScope(Google_Service_Gmail::GMAIL_SEND);
$client->addScope(Google_Service_Gmail::GMAIL_MODIFY);
$client->setAccessToken($_SESSION['access_token']);
if ($client->getAccessToken() && $client->isAccessTokenExpired()) {
$client->fetchAccessTokenWithRefreshToken($_COOKIE['refresh_token']);
$_SESSION['access_token']['access_token'] = json_encode($client->getAccessToken());
$client->setAccessToken($_SESSION['access_token']);
}
// IF there is no access-token found in session
} else {
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/apps/google-api-scripts/oauth2callback.php';
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}
// Working example to create label:
$service = new Google_Service_Gmail($client);
$user = 'me';
$label = new Google_Service_Gmail_Label();
$label->setName($naamvoordrive);
$results = $service->users_labels->create($user, $label);
$gmaillabelid = $results['id'];
解决方案
如果要创建子标签,只需按以下格式设置新标签的名称:
<parent label name>/<sub-label name>
这是一个使用 API 资源管理器的示例users.labels.create
示例请求正文:
{
"labelListVisibility": "labelShow",
"messageListVisibility": "show",
"name": "PARENTLABEL/CHILDLABEL"
}
输出:
笔记:
如果您的父标签名称不存在/无效。它将根据您的设置名称创建一个带有“/”的标签,而不是子标签
例子:
推荐阅读
- java - java中的交叉地图与另一个地图
- ios - 具有捕捉和缩放功能的滚动视图
- akka.net - Akka.net 通用类型消息
- auth0 - Auth0:Auth0注册后在本地数据库中创建用户
- ruby-on-rails - 循环访问数据库并删除具有重复信息的记录
- c# - 如何将 LINQ 与具有并行数组的类一起使用?
- excel - EXCEL VBA - 将类实例分配给动态数组
- node.js - Express.js 中删除 req.body 时的空对象
- python - Web 服务器阻止 libwww-perl 请求
- templates - 初始化 std::tuple 哪些元素构造函数需要来自另一个 std::tuple 的对象