作为共同管理员,如何在其他用户的帐户中移动文件夹?

时间:2017-04-07 23:24:10

标签: box-api

我正在更新当有人离开我们公司时执行的用户管理脚本。

该应用与共同管理员帐户保持一致,并启用了所有各种企业范围("管理webhooks v2"除外)。 "读取和写入Box"中存储的所有文件和文件夹。范围也被检查。

哦,我正在使用Python SDK。

基本上,该过程的工作原理如下:

  1. 首先,我们移动分离用户&#39; 0&#39; (顶级)文件夹到另一个帐户。这是一种自定义函数,我们通过PUT调用/ users // folders / 0,其中JSON参数为owned_by:<new_user_id>

  2. 接下来,我们要将该文件夹移到<new_user_id>的子文件夹下。代码如下所示:

    client.folder(folder_id=folder_to_move_id).as_user(new_user_id_obj_from_step_1).move(client.folder(folder_id=new_parent_folder_id))
    

    但是,这会导致以下错误:

    boxsdk.exception.BoxAPIException:
    Message: None
    Status: 403
    Code: None
    Request id: None
    Headers: {'Content-Length': '0', 'Age': '0', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', 'Server': 'ATS', 'Connection': 'keep-alive', 'Date': 'Fri, 07 Apr 2017 22:52:43 GMT', 'WWW-Authenticate': 'Bearer realm="Service", error="insufficient_scope", error_description="The request requires higher privileges than provided by the access token."'}
    URL: https://api.box.com/2.0/folders/23596411401
    Method: PUT
    Context info: None
    
  3. 四处寻找&#34; insufficient_scope&#34;错误,让我觉得我的访问令牌需要请求一些不同的scope,但是(a)我不清楚哪一个和(b)我不确定如何改变范围脚本。也许我应该以不同的方式接近这个?

    感谢您的反馈。

1 个答案:

答案 0 :(得分:0)

Box forums上得到了答案。看起来我们需要请求为我们的应用启用GCM范围,这必须通过支持来完成。