Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 活动协作API:如何获取项目_Php_Api_Activecollab - Fatal编程技术网

Php 活动协作API:如何获取项目

Php 活动协作API:如何获取项目,php,api,activecollab,Php,Api,Activecollab,我第一次尝试使用ActiveCollabAPI。我必须使用StackOveflow来找出如何获取API令牌,因为文档没有告诉我这一点 下面是我的代码: /* GET INTENT */ $url = 'https://my.activecollab.com/api/v1/external/login'; $fields = array( 'email' => "email@email.com", 'password' => "****" ); $intent = c

我第一次尝试使用ActiveCollabAPI。我必须使用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对象粘贴到这里,因此我会将您链接到它的照片:


更新:

当尝试使用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");
我真的不认为我做错了什么。。。我的帐号肯定有问题


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

Hey@Stiped,我是Active Collab开发团队的Srdjan。首先,API版本与活动的Collab版本无关,因此您的URL应该如下所示:
$URL=https://app.activecollab.com/my_app_id/api/v1/users';第二,您刚刚转储了响应主体,您可以检查您得到的响应状态吗?我认为您可能在正确设置标题方面有问题。您可以将普通的旧curl与
curl\u setopt($ch,CURLOPT\u HTTPHEADER,['X-Angie-AuthApiToken:'.$token])一起使用吗?@SrdjanMarjanovic我收到了HTTP 401。显然我没有被授权@SrdjanMarjanovic有什么想法吗?我强烈建议使用我们的。您可以轻松获得身份验证令牌并执行其他API请求。关于如何使用该库的文档应该非常简单,但如果您遇到困难,请让我来帮助您know@SrdjanMarjanovic我尝试使用您的SDK,但repo缺少autoload.php文件…嘿@Stiped,我是Active Collab开发团队的Srdjan。首先,API版本与活动的Collab版本无关,因此您的URL应该如下所示:
$URL=https://app.activecollab.com/my_app_id/api/v1/users';第二,您刚刚转储了响应主体,您可以检查您得到的响应状态吗?我认为您可能在正确设置标题方面有问题。您可以将普通的旧curl与
curl\u setopt($ch,CURLOPT\u HTTPHEADER,['X-Angie-AuthApiToken:'.$token])一起使用吗?@SrdjanMarjanovic我收到了HTTP 401。显然我没有被授权@SrdjanMarjanovic有什么想法吗?我强烈建议使用我们的。您可以轻松获得身份验证令牌并执行其他API请求。关于如何使用该库的文档应该非常简单,但如果您遇到困难,请让我来帮助您know@SrdjanMarjanovic我尝试使用您的SDK,但repo缺少autoload.php文件。。。