我正在尝试使用 BOX.net api 将组添加为文件夹的协作者,但我不能。
我在添加用户方面没有任何问题,但我无法添加组。
我按照他们说的去做:{id:“GROUP_ID”},但我收到“未找到”错误。
我检查了组和文件夹 ID,它们都是正确的。
以前有人遇到过这个问题吗?有人可以帮我解决这个问题吗?我真的很感激。
提前致谢,
问候,
马塞洛
我正在尝试使用 BOX.net api 将组添加为文件夹的协作者,但我不能。
我在添加用户方面没有任何问题,但我无法添加组。
我按照他们说的去做:{id:“GROUP_ID”},但我收到“未找到”错误。
我检查了组和文件夹 ID,它们都是正确的。
以前有人遇到过这个问题吗?有人可以帮我解决这个问题吗?我真的很感激。
提前致谢,
问候,
马塞洛
您必须是 Box Enterprise 的组管理员才能管理组。您可能需要让 Box 管理员将您添加为共同管理员,并授予您“管理组”权限。
除了“id”:“GROUP_ID”之外,请确保在accessible_by字段中传入“type”:“group”。
这应该很快记录在案。
这是一个将组添加为协作者 (PHP) 的小示例。这是通过 V2 API 完成的,以防您使用 V1 api(看到您提到 box.net 的 api,即 V1 api)。
function addGroupColaborator($folderId, $groupId, $accessType, $accessToken){
$options = array(
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_VERBOSE => true,
CURLOPT_HEADER => false,
CURLINFO_HEADER_OUT => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => false
);
$url = 'https://api.box.com/2.0/collaborations?notify=false';
$options[CURLOPT_HTTPHEADER] = array ("Authorization: Bearer ".$accessToken);
$postf = array(
"item" => array(
"id" => $folderId,
"type" => "folder"
),
"accessible_by" => array(
"id" => $groupId,
"type" => 'group'
),
"role" => $accessType
);
$options[CURLOPT_POST] = true;
$options[CURLOPT_POSTFIELDS] = json_encode($postf);
$ch = curl_init($url);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result, true);
}