我使用团队合作项目管理工具。我试图创建一个web应用程序使用团队合作给出的REST api。但这需要一些认证。我看过团队文件,他们是这么说的
认证
认证是使用HTTP认证管理的(目前只支持"Basic")。每个请求都必须包含授权HTTP头。使用您的API令牌作为用户名,并使用"X"(或其他虚假文本)作为密码(仅API令牌用于验证API请求)。
示例:
curl -H 'Accept: application/json' -H 'Content-Type: application/json'
-u APIKEY0123456789:xxx -d '{"request": {"name": "some value"}}' https://yours.teamwork.com
我查找了一些在线教程,并编写了以下代码
public function portalLogin()
{
//cURL
// phpinfo(); //curl is enabled
$channel = curl_init();
//options
curl_setopt($channel, CURLOPT_URL, "http://projects.abounde.com/projects.json?status=LATE");
curl_setopt($channel, CURLOPT_HTTPHEADER, array("Authoritation:BASIC".base64_encode("secretApiCode:xxx")));
echo curl_exec($channel); //return 1
curl_close($channel);
}
返回1。我不知道这是什么意思。我不知道我做的对不对。这就是团队合作api所在的位置,它受到身份验证的保护。
http://projects.abounde.com/projects.json我的最终目标是给不同的用户不同的用户名和密码,他们将输入和系统将从数据库中找到密钥,并从特定用户加载项目列表。
public function portalLogin()
{
//cURL
// phpinfo();
$username = "night720elvis";
$password = "xxx";
$channel = curl_init();
//options
curl_setopt($channel, CURLOPT_URL, "http://projects.abounde.com/projects.json?status=LATE");
//curl_setopt($channel, CURLOPT_HTTPHEADER, array("Authoritation:BASIC".base64_encode("night720elvis:xxx")));
curl_setopt($channel, CURLOPT_HTTPHEADER,
array(
"Authorization: Basic " . base64_encode($username . ":" . $password)
));
echo curl_exec($channel);
curl_close($channel);
}
这个验证