将组添加为协作者

时间:2013-08-23 21:43:24

标签: box-api

我正在尝试使用BOX.net api添加一个组作为文件夹的协作者,但我不能。

添加用户没有任何问题,但我无法添加群组。

我按照他们的说法这样做:{id:“GROUP_ID”}但我得到了“未找到”错误。

我检查了组和文件夹ID,它们都是正确的。

以前有人遇到过这个问题吗?有人可以帮我这个吗?我真的很感激。

提前致谢,

此致

马塞洛

3 个答案:

答案 0 :(得分:1)

您必须是Box Enterprise的组管理员才能管理群组。您可能需要让您的Box管理员将您添加为共同管理员,并为您提供“管理组”权限。

答案 1 :(得分:0)

除了“id”:“GROUP_ID”之外,请务必在accessible_by字段中传递“type”:“group”。

这应该很快记录下来。

答案 2 :(得分:0)

以下是将组添加为协作者(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);
}