Php 活动协作API:如何获取项目
我第一次尝试使用ActiveCollabAPI。我必须使用StackOveflow来找出如何获取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
/* 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文件。。。