Drive API の概要

    LINE WORKS Drive API(以下、「Drive API」)は、LINE WORKS Drive へのファイルのアップロード・ダウンロード、ファイルやグループフォルダ情報の閲覧などの機能を提供します。

    Drive API を使用する前に

    Drive APIは、Developer Console で発行する API ID を使ってテナントごとの URL を提供しています。 ただし、ファイルアップロード・ダウンロードは API ID なしで呼び出すことができます。

    API ID の発行

    API ID の発行は、API 共通ガイドを参考にしてください。

    OAuth 2.0 認証

    OAuth 2.0 認証を行うには、認証トークンとコンシューマーキーが必要です。コンシューマーキーとサーバートークンの発行については、API 共通ガイドを参考にしてください。

    使用方法

    以下のように API リクエストヘッダーに認証トークンとコンシューマーキーを追加します。認証トークンは「Authorization」のフィールドに「Bearer」タイプで追加し、コンシューマーキーは「consumerKey」のフィールドに追加します。

    requestHeader.set("Authorization", "Bearer AAAA8…");
    requestHeader.set("consumerKey", "AbCdEfGhIjKlMn");
    

    Sample Code for Java

    String url = "https://apis.worksmobile.com/r/{API ID}/drive/rl/{resourceLocation}/v2/files/{resourceKey}";
    Map<String, String> urlVariables = new HashMap<>();
    urlVariables.put("API ID", "kr1xxxxx");
    urlVariables.put("resourceLocation", "24101");
    urlVariables.put("resourceKey", "jfjefo098f21xaff");
    
    RestTemplate restTemplate = new RestTemplate();
    HttpHeaders requestHeader = new HttpHeaders();
    requestHeader.setContentType(MediaType.APPLICATION_JSON);
    requestHeader.set("Authorization", "Bearer AAAA8…");
    requestHeader.set("consumerKey", "AbCdEfGhIjKlMn");
    
    HttpEntity<P> requestEntity = new HttpEntity<P>(params, requestHeader);
    ResponseEntity<T> responseBody = restTemplate.exchange(url, httpMethod, requestEntity, typeReference, urlVariables);
    

    API 共通情報

    Drive API は、ファイルのアップロード・ダウンロードを行う API と、その他の API に分かれています。それぞれ呼び出すサーバードメインが異なるので、各 API のドキュメントを参照してください。

    resourceLocation

    Drive API 共通の必須 path parameter である resourceLocation は、対象リソースのresourceLocation を利用します。

    マイフォルダ、ファイルの resourceLocation を確認する場合はユーザーのルートフォルダ(resourceKey は root)のファイルのプロパティの閲覧 API のレスポンスを利用します。

    なお、マイフォルダのプロパティの閲覧は rl/{resourceLocation}を省略して呼び出します。

    GET https://apis.worksmobile.com/r/{API ID}/drive/v2/files/root
    

    Response 共通

    ファイルのアップロード・ダウンロード以外のすべての API リクエストは、API ゲートウェイを経て Drive API サーバーに送信されます。ゲートウェイで OAuth 認証エラーが発生した場合、ゲートウェイ側のエラーコードを返します。

    {
        "message":"Authentication header not exists",
        "domain":"common",
        "code":"UNAUTHORIZED"
    }
    

    API ゲートウェイを通過した API リクエストは、Drive API サーバーで処理され、JSON 形式で返されます。

    {
      "resourceSize" : 106937574,
      "resourceKey" : "MTQ1MDMwMDJ8MTYwOTAwMTg1Njh8RHww",
      "resourceLocation" : null,
      "resourceType" : "folder",
      "resourcePath" : "/123123123123/",
      "fileType" : "folder",
      "folderType" : "my",
      "createDate" : 1430188697000,
      "updateDate" : 1581385436000,
      "accessDate" : 1430188697000,
      "updateUser" : "14503002",
      "hasExif" : false,
      "hasThumbnail" : false,
      "uploaded" : true,
      "locked" : false,
      "virus" : "none",
      "memberShare" : null,
      "linkShare" : null,
      "group" : null,
      "protected" : false
    }
    

    Drive API サーバーで発生したエラーはエラーコードの項目を参考にしてください。