1

我正在尝试在我的 js 应用程序中从Teamweek获取计划。API

function get_teamweek_planning()
{
    var api_url     = 'https://teamweek.com/api/v2/',
        api_key     = '1234567',
        object_type = 'projects';

    $.ajax(
    {
        url: api_url + api_key + '/projects.json',
        type: 'GET',
        dataType: 'jsonp',
        cache: false,
        data: {},

        success:function(response){
            console.log('response:', response);
        }
    });     
}

这将返回 403(禁止)。这是记录在案的,意味着身份验证失败。但是我该如何解决呢?

4

2 回答 2

3
function get_teamweek_planning()
{
    var api_url     = 'https://teamweek.com/api/v2/',
        account_id  = '<your account id>';

    $.ajax(
    {
        url: api_url + account_id + '/projects.json',
        beforeSend: function (request)
        {
         request.setRequestHeader('Authorization', 'Bearer ' + btoa('<your api token>'))
        },
        type: 'GET',
        dataType: 'jsonp',
        cache: false,
        data: {},

        success:function(response){
            console.log('response:', response);
        }
    });     
}

如果您在不只是为您自己的页面上使用它,那么不要对您的令牌进行硬编码......

于 2013-10-31T14:31:41.340 回答
0

您忘记了身份验证部分,您需要对每个请求进行身份验证(如 github 上所述)。

在数据对象中包含以下变量:

data: {
    auth_token: [your token],
    name: [client name]
}

https://github.com/toggl/teamweek_api_docs/blob/master/chapters/authentication.md

于 2013-10-25T15:20:19.300 回答