Требование внешних библиотек при сборке расширений Chrome - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь создать расширение Chrome, чтобы при нажатии на значок панели инструментов вызывалась функция, которая взаимодействует с API Асаны (https://asana.com/developers/documentation/getting-started/quick-start).

Вот мой код:

Манифест

{

"manifest_version": 2,
"name": "test",
"description": "asana test",
"version": "1.0",

"browser_action": 
{
"default_icon": "icon.png"
},

"permissions": [
"https://app.asana.com/api/**", 
"activeTab"
],

 "background": {
      "scripts": [ "scripts/require.js", "scripts/background.js"],
      "persistent": true
    }
}

фоновый скрипт

require(['asana'], function (asa) {
    var asana = asa;

    });

chrome.browserAction.onClicked.addListener(function(tab) { 


    // replace with your personal access token. 
    var personalAccessToken = '0/123456789....';

    // Construct an Asana client
    var client = asana.Client.create().useAccessToken(personalAccessToken);

    // Get your user info
    client.users.me()
      .then(function(me) {
        // Print out your information
        console.log('Hello world! ' + 'My name is ' + me.name + ' and my primary Asana workspace is ' + me.workspaces[0].name + '.');
    });



});

Есть идеи, что мне не хватает?

Извинения, если этовопрос упрощенный. Я перебрал другие похожие темы, но все еще застрял :(

enter image description here

1 Ответ

0 голосов
/ 01 декабря 2018

Решил эту проблему, используя @ajax для прямого вызова API, вместо того, чтобы требовать асаны.

Пример нижеприведенной функции был добавлен в фоновый скрипт

function authTest()
{
    $.ajax({
        url: 'https://app.asana.com/api/1.0/users/me',
        type: 'get',
        processData: false,
        contentType: 'application/octet-stream',
        headers: {
            "Authorization": "Bearer 0/....,
        },
        success: function (data) {
            console.log(data);
        },
        error: function (data) {
            console.error(data);
        }
    })
}
...