3

我正在尝试通过此调用获取 API 令牌:

curl -H "Content-Type: application/json" -X POST -d '{"username": "MY_EMAIL","password": "MY_PWD","client_name": "XXX","client_vendor": "XXX"}' https://app.activecollab.com/MY_ID/api/v1/issue-token

但即使密码正确,我也会收到此回复:

{
    "type":"ApiSubscriptionError",
    "message":"Invalid password",
    "code":3
}

我正在按照https://labs.activecollab.com/nightly-activecollab-api/v1/authentication.html上的说明进行操作

有人可以使用 Active Collab v5 API 吗?如果是这样,你能帮忙找出问题吗?

4

2 回答 2

5

身份验证分两步完成。第一个是对主要身份验证服务(https://activecollab.com)进行身份验证:

curl -XPOST -d 'email=user@example.com&password=******' https://activecollab.com/api/v1/external/login

此调用将返回经过身份验证的用户有权访问的帐户列表以及用户详细信息:

{
    "is_ok": true,
    "accounts": [
        {
            "class": "FeatherApplicationInstance",
            "display_name": "Company Name (ID: #ACCOUNT_ID#)",
            "name": 1,
            "url": "https://app.activecollab.com/#ACCOUNT_ID#"
        }
    ],
    "user": {
        "avatar_url": "https://activecollab.com/avatars/user_#USER_ID#.png",
        "first_name": "John",
        "last_name": "Doe",
        "intent": "long string"
    }
}

在用户属性中有intent属性。它用于对特定的 Active Collab 5 帐户进行身份验证,如下所示:

curl -XPOST -d 'intent=LONG-INTENT-STRING-HERE&client_name=AppName&client_vendor=AppVendor' https://app.activecollab.com/#ACCOUNT_ID#/api/v1/issue-token-intent

客户供应商和客户名称是您的组织名称和您的应用程序的名称。此调用将返回一个令牌,您可以使用该令牌在该帐户中进行进一步的 API 调用:

curl -H "X-Angie-AuthApiToken: TOKEN-HERE" https://app.activecollab.com/#ACCOUNT_ID#/api/v1/projects
于 2016-01-08T20:12:48.270 回答
3

activeCollab 支持人员为我提供了所需的信息。要为我的云帐户获取令牌,我必须遵循不同的文档:https ://gist.github.com/malizmaj/e04207c7712ba9f65fb7

我无法通过谷歌搜索自己找到该文档。

如果https://labs.activecollab.com/nightly-activecollab-api/v1/authentication.html上的文档提到它仅适用于非云帐户,那就太好了!

无论如何,我现在可以对我的云帐户进行 API 调用了!

于 2016-01-08T16:00:54.210 回答