Active Collab API:如何获取项目

时间:2017-10-16 12:03:39

标签: php api activecollab

我第一次尝试使用ActiveCollab API。我不得不使用StackOveflow来弄清楚如何获取API令牌,因为文档不会告诉我这个。

以下是我的代码:

/* GET INTENT */
$url = 'https://my.activecollab.com/api/v1/external/login';
$fields = array(
    'email' => "email@email.com",
    'password' => "****"
);

$intent = curl_post_connector($url, $fields);
$intent = $intent->user->intent;

/* GET TOKEN */
$url = 'https://app.activecollab.com/my_app_id/api/v1/issue-token-intent';
$fields = array(
    'intent' => $intent,
    'client_name' => 'My App Name',
    'client_vendor' => 'My Company Name'
);

$token = curl_post_connector($url, $fields);
$token = $token->token;

以上所有内容都能正常运行并获得令牌。我觉得非常奇怪的是我必须使用API​​ v1来实现这一点,而ActiveCollab网站上的文档并未提及API v5的任何URL。看起来这就是StackOverflow所采用的方法。

现在使用令牌,我尝试获取项目列表:

/* GET PROJECT */

$url = 'https://app.activecollab.com/my_app_id/api/v1/users';
$headers = array (
   "X-Angie-AuthApiToken" => $token
);
$projects = curl_get_connector($url, $headers);

var_dump($projects);

但这不起作用。没有返回错误 - 它会因某种原因返回一系列语言!我不想在这里粘贴大量的json对象,所以我会将你链接到它的照片:https://www.screencast.com/t/7p5JuFB4Gu

更新:

尝试使用SDK时,它会一直运行,直到我尝试获取令牌(这与我没有SDK的情况一样)。我收到服务器错误500,在查看日志时,它说:

/home/working/public_html/ac/index.php(21): ActiveCollab\SDK\Authenticator\Cloud->issueToken(123456789)
#1 {main}
  thrown in /home/working/public_html/ac/SDK/Authenticator/Cloud.php on line 115

这是Cloud.php的第115行:

throw new InvalidArgumentException("Account #{$account_id} not loaded");

老实说,我认为我做错了什么......我的帐户ID一定有问题。

只是为了踢,我注释掉那一行,错误消失了,页面加载正常 - 除了现在我没有令牌......

0 个答案:

没有答案