首页 > 解决方案 > 向现有笔记添加标签?

问题描述

我正在尝试使用 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");
}

标签: phpevernote

解决方案


您得到的错误是因为updateTag必须在 NoteStore 上调用,而不是在 note 对象上调用。但是:NoteStore.updateTag更新标签对象本身。要将标签添加到笔记需要NoteStore.updateNote代替。您的 API 令牌还必须支持笔记的写入权限。


推荐阅读