コミュニティ

LINE WORKSのテクニカルエキスパート及び開発者と
コードのサンプル、リソース、Tip等を共有し問題解決への相談が可能です。

??dev_메인_타이틀_모바일_ja_JP??

Drive

Driveへのファイルアップロード

orita

2020.06.02既読 547

【APIを使用してのファイルのアップロード方法】

1.個人のローカルに存在するファイルを個人のDriveへアップロードすることは可能でしょうか。

   可能な場合、RequestURLhttps://file.drive.worksmobile.com/drive/rl/{resourceLocation}/v2/files」の{resourceLocation}には何を設定する必要があるのでしょうか。

2.上記の応用でグループDriveにファイルをアップロードすることは可能でしょうか。

3.アップロードするファイルの拡張子に制限はありますでしょうか。

初心者で何も分からない状態です。

コミュニティで上記内容の質問を探してみたのですが、見つからず困っております。

お分かりの方がいらっしゃいましたら、お教え願います。


コメント7

  • LINE WORKS 公式アカウント

    以下に回答させていただきます。
    1:
    Filedata をローカルのパスで指定すれば、ローカルファイルをアップロードすることが可能です。
    resourceLocation につきましては下記ページの API 共通情報の項目を参考に設定を行ってください。
    https://developers.worksmobile.com/jp/document/1008001?lang=ja
    2:
    グループフォルダにアップロードするには toParentKey にグループフォルダの resourceKey を指定します。
    resourceKey はグループフォルダのリストの閲覧 API で取得できます。
    https://developers.worksmobile.com/jp/document/1008019?lang=ja

    ただし、Service API Access Token を発行したユーザがグループに所属している必要があります。
    3:
    アップロードするファイルの拡張子制限につきましては、管理者画面での設定が反映されます。
    https://guide.worksmobile.com/ja/admin/pc-admin-guide/security/file-security/

    2020.06.02

    1
  • orita 投稿者

    ご回答ありがとうございます。
    ファイルアップロードの際に、
    「userid not exist」のエラーが発生するのですが、
    原因が分かりません。

    LINEWORKSにユーザー自体は存在するのですが、何が原因として考えられますでしょうか。

    2020.06.04

    0
  • orita 投稿者

    設定した値としましては、

    URL:https://file.drive.worksmobile.com/drive/rl/{resourceLocation}/drive/v2/files/root}/v2/files
    (「https://apis.worksmobile.com/r/{API ID}/drive/v2/files/root」で取得したresourceLocationを使用)

    X-DRIVE-API-TYPE:reseller-api
    ConsumerKey:[ConsumerKey]
    Authorization:Bearer [Service Token]
    Content-Type:multipart/form-data; boundary="Abcdefg”; charset=UTF-8

    --Abcdefg
    Content-Disposition: form-data; name="toParentKey"

    [resourceLocationと一緒に取得したresourceKey]
    --Abcdefg
    Content-Disposition: form-data; name="resourceName"

    test.txt
    --Abcdefg
    Content-Disposition: form-data; name="writeMode"

    none
    --Abcdefg
    Content-Disposition: form-data; name="Filedata"; filename="test.txt"
    Content-Type: text/plain; charset=UTF-8

    aaaa
    --Abcdefg--

    2020.06.05

    0
  • LINE WORKS 公式アカウント

    Query Parameter の一番最後に "Filedata" を追加し、"Filename" で ローカルパスを追加します。

    Raw-FileData
    --$boundary
    Content-Disposition: form-data; name="Filedata"; filename="/C:/Users/xxxxx/Desktop/test.xlsx"

    userid not exist error ですが、アカウントが有効になっていない可能性がございます。
    対象のアカウントでログインし、サービスの利用を開始してからお試しください。

    2020.06.09

    0
  • orita 投稿者

     --$boundary
     Content-Disposition: form-data; name="Filedata"; filename="test.txt"
     Content-Type: text/plain; charset=UTF-8

     aaaa
     --$boundary--

    ここが、
     --$boundary
     Content-Disposition: form-data; name="Filedata"; filename="/C:/Users/xxxxx/Desktop/test.xlsx"
     
     --$boundary--
     上記の状態で可能という認識で相違ないでしょうか。

    また、userid not exist に関しては、
    対象アカウントでログインし、サービスの利用開始は完了している状態で実行しております。

    2020.06.09

    0
  • LINE WORKS 公式アカウント

    ローカルパスについてはご認識の通りです。

    Drive へのファイルアップロード API を利用する際の、Http Method をご確認いただけますでしょうか。
    ファイルのアップロード API は POST 形式で、Content-Type は multipart/form-data になります。
    https://developers.worksmobile.com/jp/document/1008037?lang=ja

    また、Header 情報の consumerKey と authorization token の設定も合わせてご確認ください。
    https://developers.worksmobile.com/jp/document/3002003?lang=ja

    2020.06.09

    0
  • orita 投稿者

    Drive へのファイルアップロード API を利用する際のHttp Method
    及び、ファイルのアップロード API は POST 形式で、Content-Type は multipart/form-dataについて確認しましたが、
    問題ないかと思います。

    また、Header 情報の consumerKey と authorization tokenも問題ないかと思います。
    ファイルダウンロード等は可能で、ファイルのアップロードのみ上記事象が起こる状態です。

    2020.06.09

    0
前の投稿 Power AutomateでのトークBot作成
次の投稿メッセージが受信できません