2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BoxとServiceNow連携:フォルダ作成

Last updated at Posted at 2024-10-04

概要

別の記事でServiceNowとBoxの連携について書きましたが、認証のテストまでしかありませんでしたので、今回は実際のBox上の操作(フォルダ作成)の実装方法を紹介します。

準備

本記事では、Boxカスタムアプリ、ServiceNowのアプリケーションレジストリとRESTメッセージが作成・設定されたことを仮定します。それらの設定について、「BoxとServiceNow連携:認証方法」を参考してください。

実装

今回の実装ステップとして、まずはBoxフォルダ作成用の新規なHTTPメソッドを実装します。その後に、動作確認を行います。

「フォルダ作成」のHTTPメソッドを追加

Box上のフォルダ作成は次のAPIエンドポイントへのリクエストで実施できます:https://api.box.com/2.0/foldersガイド)。

パラメータとして、フォルダ名と親フォルダIDを設定する必要があります。両方はリクエストの本文で指定します:

  • フォルダ名(name)は任意ですが、使えない文字があります
  • 親フォルダID(parent.id)はBoxのWebアプリのURLから取得できます。例えば、https://app.box.com/folder/123456789の場合は、123456789はフォルダIDです。ユーザーのルートフォルダ(「すべてのファイル」のページ)のIDは0です。Box APIでもフォルダIDを取得することが可能ですが、この記事ではフォルダIDを事前に取得ことを仮定します

上記のエンドポイントへリクエストを送信するために、事前に作成されたRESTメッセージで新規なHTTPメソッドを追加します。新規HTTPメソッド画面で以下のように設定します(詳細設定はBox APIガイドで確認だきます):

  • 名前:<任意の名前>(例:Boxフォルダ作成)
  • HTTP メソッド:POST
  • REST エンドポイント:https://api.box.com/2.0/folders
  • 「HTTP要求」タブの「コンテンツ」の内容は以下のJSONです。JSONではfolder_nameparent_folder_idを変数として指定しました
{
  "name": "${folder_name}",
  "parent": {
    "id": "${parent_folder_id}"
   }
}

Boxフォルダ作成HTTPメソッド.png

レコードを保存すると、画面の下に「REST メッセージ関数パラメーター」タブが表示されます。「関連リンク」の「変数の自動生成」をクリックすると、JSONで指定した変数がパラメーターとして設定されます。

Screenshot 2024-10-04 at 16.07.51.png

動作確認

テストのため、変数の「値」列も設定します。以上の画像でID228438198016のフォルダの配下にテストというフォルダを作成するように設定しました。

フォルダを作成するため、リクエストを送信するユーザーは親フォルダに対して適切な権限が必要です(例えば、編集権限)。サーバ認証を使う際に、サービスアカウントを対象フォルダに招待する必要があります。

「関連リンク」の「テスト」をクリックすると、設定されたメソッドでBox APIへリクエストが送信されます。結果として、Box上のフォルダが作成さます。作成者はリクエストを送信したユーザーです(以下の画像で、「ServiceNow CCG」です)。

Boxフォルダ作成.png

リクエストのレスポンスも「テスト実行」画面で確認できます。「HTTP ステータス」は201ですので、リクエストは成功したことをわかります。

テスト実行レスポンス.png

リクエストのレスポンスから作成されたフォルダID(id項目)があり、それをレスポンスから抽出すると、引き続きの処理(例えば、コラボレーション作成)で使えます。

まとめ

この記事では、ServiceNowからBox上のフォルダ作成方法について説明しました。

フォルダ作成はよくある操作ですので、様々な場面で使えると思います。作成したHTTPメソッドをクビジネスルールやワークフローで使えますので、多くのケースで活用できます。

また、似たような実装仕方で、他のBox上の操作(例えば、ユーザー作成やグループ作成など)も実現できます。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?