Я пытаюсь собрать букмарклет, который может отображать URL-адрес текущей страницы, заголовок и любой выделенный текст, а затем публиковать это как новую задачу для Asana через API.asana javascript bookmarklet для создания новой задачи
Я создал конкретный проект для их входа, захватил project id
и идентифицировал workspace id
. Тестирование этих значений с помощью локон в командной строке работает отлично:
curl --user MYAPIKEY: https://app.asana.com/api/1.0/workspaces/MYWORKSPACEID/tasks --data-urlencode 'name=Hello World' --data-urlencode 'notes=How are you' --data-urlencode 'projects[0]=MYPROJECTID'
заимствование из другого примера Javascript букмарклет-х я соединил следующий код:
javascript:
apikeyhash='MYBASE64ENCODEDAPIKEYPLUSCOLON';
workspaceid='MYWORKSPACEID';
projectid='MYPROJECTID';
title=document.title;
loc=location.href;
if(document.getSelection) {
text=location+'\r\r'+document.getSelection(); }
else {
text=location;
}
xml = new XMLHttpRequest();
xml.open('POST', 'https://app.asana.com/api/1.0/workspaces/'+workspaceid+'/tasks', false);
xml.setRequestHeader("Authorization", 'Basic '+apikeyhash);
xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xml.send('name='+encodeURIComponent(title)+'¬es='+encodeURIComponent(text)+'&projects%5B0%5D='+projectid);
alert(xml.responseText);
(Где MYBASE64ENCODEDAPIKEYPLUSCOLON является выход из : echo -n 'MYAPIKEY:' | openssl enc -base64)
Используя это как букмарклет (доступ через панель закладок в Safari), просто приводит к обновлению текущей страницы, и нет вещь добавляется к Asana
. Я был бы признателен за помощь в исправлении javascript.
Примечание: Мой идеального решения было бы всплывал диалог быстрой надстройки задач из Asana
и предварительно заполнить эту форму (используя учетные данные текущего пользователя асана), но я не уверен, что если это возможно. На данный момент просто возможность быстро отправить URL, заголовок и любой выделенный текст в Asana
в качестве новой задачи будет очень полезной. При наличии только нескольких пользователей создание пользовательских букмарклетов с ключом API каждого пользователя является приемлемым.