使用 Trello 邀请他人 API
Inviting people with Trello API
我正在尝试通过电子邮件邀请某人从我的网站加入 Trello。这里是API reference。当我尝试邀请他时,简单的回复是 "invalid key"。这是我的功能:
public function inviteEmployeeToTrello ($email, $name, $isAdmin)
{
$organazationTrelloID = 'myOrganazationID';
$trelloAuthToken = 'myTrelloAuthToken';
$trelloInviteUrl = 'https://trello.com/1/organizations/'.$organazationTrelloID.'/members';
if ($isAdmin == 1)
{
$type = 'admin';
}
else
{
$type = 'normal';
}
$fields = array(
'fullName' => $name,
'email' => $email,
'type' => $type,
'token' => $trelloAuthToken
);
// open connection
$ch = curl_init();
// set the url, number of PUT vars, PUT data
curl_setopt($ch, CURLOPT_URL, $trelloInviteUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
// exec
$replyRaw = curl_exec($ch);
$reply = json_decode($replyRaw, true);
// close connection
curl_close($ch);
dd($ch);
}
正如错误代码所说,您忘记传递 application key. Here's an example from the API reference :
https://api.trello.com/1/organizations/publicorg?members=all&member_fields=username,fullName&fields=name,desc&key=[application_key]&token=[optional_auth_token]
您必须将其包含在查询中,因此在您的情况下,将其添加到
$fields
数组:
$fields = array(
'fullName' => $name,
'email' => $email,
'type' => $type,,
'key' => $trelloAppKey
'token' => $trelloAuthToken
);
CURLOPT_POSTFIELDS 不想要 JSON,
如果你想要一个 urlencoded 请求,使用 http_build_query($fields) ,或者如果你想要一个 multipart/form-data 请求,直接给它 $fields 数组。 (不过,API 文档似乎没有提及它接受的请求类型。urlencoded 是最常见的一种。)
我正在尝试通过电子邮件邀请某人从我的网站加入 Trello。这里是API reference。当我尝试邀请他时,简单的回复是 "invalid key"。这是我的功能:
public function inviteEmployeeToTrello ($email, $name, $isAdmin)
{
$organazationTrelloID = 'myOrganazationID';
$trelloAuthToken = 'myTrelloAuthToken';
$trelloInviteUrl = 'https://trello.com/1/organizations/'.$organazationTrelloID.'/members';
if ($isAdmin == 1)
{
$type = 'admin';
}
else
{
$type = 'normal';
}
$fields = array(
'fullName' => $name,
'email' => $email,
'type' => $type,
'token' => $trelloAuthToken
);
// open connection
$ch = curl_init();
// set the url, number of PUT vars, PUT data
curl_setopt($ch, CURLOPT_URL, $trelloInviteUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
// exec
$replyRaw = curl_exec($ch);
$reply = json_decode($replyRaw, true);
// close connection
curl_close($ch);
dd($ch);
}
正如错误代码所说,您忘记传递 application key. Here's an example from the API reference :
https://api.trello.com/1/organizations/publicorg?members=all&member_fields=username,fullName&fields=name,desc&key=[application_key]&token=[optional_auth_token]
您必须将其包含在查询中,因此在您的情况下,将其添加到
$fields
数组:
$fields = array(
'fullName' => $name,
'email' => $email,
'type' => $type,,
'key' => $trelloAppKey
'token' => $trelloAuthToken
);
CURLOPT_POSTFIELDS 不想要 JSON, 如果你想要一个 urlencoded 请求,使用 http_build_query($fields) ,或者如果你想要一个 multipart/form-data 请求,直接给它 $fields 数组。 (不过,API 文档似乎没有提及它接受的请求类型。urlencoded 是最常见的一种。)