php - 向现有笔记添加标签?
问题描述
我正在尝试使用 PHP 更新从 Evernote 搜索返回的笔记。搜索部分工作得很好,但是一旦我找到笔记列表,我似乎无法在笔记中添加标签。我可以确认标签 GUID 在这两种情况下都是正确的。
use EDAM\NoteStore\NoteFilter;
$client = new Client(array(
'token' => $authToken,
'sandbox' => true
));
$filter = new NoteFilter();
$filter->words = "HIGH";
$filter->tagGuids = array("ababe33d-75e6-4a50-b2ba-61889bb2b8a6");
$notes_result = $client->getNoteStore()->findNotes($filter, 0, 10);
$notes = $notes_result->notes;
foreach ($notes as $note) {
echo $note->title . "\n";
// **** ERROR HERE ****
$note->updateTag($authToken, "b3b290fa-4ca0-493e-8dd1-5cf1bff28b92");
}
解决方案
您得到的错误是因为updateTag
必须在 NoteStore 上调用,而不是在 note 对象上调用。但是:NoteStore.updateTag更新标签对象本身。要将标签添加到笔记需要NoteStore.updateNote代替。您的 API 令牌还必须支持笔记的写入权限。
推荐阅读
- here-api - HERE MAPS Javascript api getboundingbox 返回 null 即使将多个标记添加到组
- reactjs - 如何在 React 中使用 css 的关键帧显示滑动侧边栏
- css - 样式化媒体接收器未加载自定义 CSS 文件
- python - sphinx 创建一个空文档
- android - 我可以从 Android 上的 Chrome 网页启动ActivityForResult 吗?
- php - 缺少 [Route: questions.update] 所需的参数在 url 中传递 2 个参数
- r - 如何在 Rmarkdown 中清除 ggplot2 中的条形图
- javascript - 使用 Javascript 删除数组中较低优先级的重复对象
- css - 使用 javascript 文字时未应用 Angular 类
- javascript - Javascript下载文件并回读修改