项目成员Basecamp(PHP)的回声化身
我正在开发一个Basecamp小部件,它必须显示关于我们目前正在进行的项目的重要信息。由于我找不到任何关于这件事的相关和详细的文件,我想向社区寻求帮助 我的处境 我目前已经在回显我的项目,此数据包含:项目成员Basecamp(PHP)的回声化身,php,basecamp,Php,Basecamp,我正在开发一个Basecamp小部件,它必须显示关于我们目前正在进行的项目的重要信息。由于我找不到任何关于这件事的相关和详细的文件,我想向社区寻求帮助 我的处境 我目前已经在回显我的项目,此数据包含: 项目名称 描述 项目ID 对于我的待办事项,我回显以下数据: 剩余待办事项 完成待办事项 待办事项总数 百分比进展 我的目标 我想展示每个项目中所有工作人员的头像。由于这种编程对我来说是相当新的,我希望能在这方面得到一些指导。 由于Basecamp越来越受欢迎,我想更多的人可能会对这个信息
- 项目名称
- 描述
- 项目ID
- 剩余待办事项
- 完成待办事项
- 待办事项总数
- 百分比进展
$appName = 'MyAppName';
$appContact = 'MyAddress';
$basecampAccountId = 'MyAccountID';
$basecampUsername = 'MyBaseCampUsername';
$basecampPassword = 'MyPassword';
$baseUrl = "https://basecamp.com/************/api/v1";
$url= $baseUrl.'/projects.json';
$credentials = "$basecampUsername:$basecampPassword";
$helloHeader = "User-Agent: $appName ($appContact)";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, $credentials);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //optional
curl_setopt($ch, CURLOPT_MAXREDIRS, 3); //optional
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); //optional
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); //optional
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); //optional
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array($helloHeader));
$response = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
curl_close($ch);
检索待办事项列表
$json = $response;
$data = json_decode($json);
/*echo "<br/><br/>";*/
foreach($data as $key)
{
echo "<ul>";
echo "<li>".$key->name."</li>";
echo "<li>".$key->id."</li>";
echo "<li>".$key->description."</li>";
$url= $baseUrl.'/projects/'.$key->id.'/todolists.json';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERPWD, $credentials);
// curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //optional
curl_setopt($ch, CURLOPT_MAXREDIRS, 3); //optional
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); //optional
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); //optional
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); //optional
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array($helloHeader));
$response = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
curl_close($ch);
// print_r($response);
$json = $response;
$data = json_decode($json);
$todo_remain = $data[0]->remaining_count;
$todo_completed = $data[0]->completed_count;
$todo_total = $todo_remain + $todo_completed;
echo "<BR>";
echo "<BR>";
echo "Remaining To-Do Items:";
echo "<BR>";
echo $todo_remain;
echo "<BR>";
echo "Completed To-Do Items:";
echo "<BR>";
echo $todo_completed;
echo "<BR>";
echo "Total To-Do Items:";
echo "<BR>";
echo $todo_total;
echo "<BR>";
echo "Remaining percentage is: <BR>";
echo round(($todo_remain/$todo_total)*100);
echo "%";
echo "<BR>";
echo "Completed percentage is: <BR>";
echo round(($todo_completed/$todo_total)*100);
echo "%";
echo "</ul>";
$json=$response;
$data=json_decode($json);
/*回声“
”*/
foreach($数据作为$key)
{
回声“”;
回声“- ”$key->name.“
”;
回显“- ”$key->id.“
”;
回声“- ”$key->description。”
”;
$url=$baseUrl./projects/.$key->id./todolists.json';
$ch=curl\u init($url);
curl_setopt($ch,CURLOPT_USERPWD,$credentials);
//curl_setopt($ch,CURLOPT_头,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,curloopt_FOLLOWLOCATION,true);//可选
curl_setopt($ch,CURLOPT_MAXREDIRS,3);//可选
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);//可选
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//可选
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,30);//可选
curl_setopt($ch,CURLOPT_超时,30);
curl_setopt($ch,CURLOPT_HTTPGET,true);
curl_setopt($ch,CURLOPT_HTTPHEADER,array($helloHeader));
$response=curl\u exec($ch);
$errno=curl\u errno($ch);
$error=curl\u error($ch);
卷曲关闭($ch);
//打印(回复);
$json=$response;
$data=json_decode($json);
$todo_剩余=$data[0]->剩余_计数;
$todo_completed=$data[0]->已完成的_计数;
$todo_总计=$todo_剩余+$todo_完成;
回声“
”;
回声“
”;
回显“剩余待办事项”:;
回声“
”;
回声$todo_剩余;
回声“
”;
echo“完成待办事项:”;
回声“
”;
echo$todo_已完成;
回声“
”;
echo“待处理项目总数:”;
回声“
”;
echo$todo_总计;
回声“
”;
echo“剩余百分比为:
”;
回音轮($todo_剩余/$todo_总计)*100);
回声“%”;
回声“
”;
echo“完成百分比为:
”;
回音轮($todo_已完成/todo_总计)*100);
回声“%”;
回声“
”;