Возможно ли получить задачи 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() не сработает)

Другие вопросы по тегам