Возможно ли получить задачи Asana через JSON-P и Asana Connect?
Можно ли подключиться к ASANA без бэкэнда?
У нас есть защищенная папка на веб-сервере, где мы хотим получить список задач проекта, используя только Javascript. Это возможно?
Я видел некоторые новости от Asana о том, что они поддерживают JSON-P через Asana Connect, но немного неясно, как это можно настроить из документации. Есть ли примеры, которые я не нашел? Или кто-нибудь успешно настроил это раньше?
2 ответа
Предпочтительный способ сделать это - использовать CORS (добавлено в ноябре 2013 г.) - посмотрите в этом разделе пример того, как вы можете его использовать. Если вы не знакомы с CORS, это означает "Распределение ресурсов между источниками" и позволяет создавать запросы между доменами, учитывая, что заголовки клиента и сервера соответствуют друг другу.
Если кто-то уже использует Jquery (как и я), вы можете использовать следующий код, чтобы сделать то же самое, что и в примере из @agnoster.
$.ajax({
url : 'https://app.asana.com/api/1.0/users/me',
dataType : 'json',
type: 'GET',
beforeSend : function(xhr) {
xhr.setRequestHeader('Authorization', 'Basic ' + btoa(api_key + ":"));
}
}).done(function(response) {
console.log(response.data);
});
И если вам нужно POST/PUT, вы можете использовать jQuery следующим образом:
$.ajax({
url : https://app.asana.com/api/1.0/tasks/taskid',
dataType : 'json',
type: 'PUT',
data: { "completed": true },
beforeSend : function(xhr) {
xhr.setRequestHeader('Authorization', 'Basic ' + btoa(api_key + ":"));
}
});
PS! вы не сможете заставить это работать для IE9, так как он не поддерживает отправку заголовков (поэтому xhr.setRequestHeader()
не сработает)