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 サーバーで発生したエラーはエラーコードの項目を参考にしてください。