Box 開発者プラットフォーム

はじめに

Box の統合は、Box エクスペリエンス全体を最先端のビジネスアプリケーションと結び付けます。 Box と統合すると、アプリケーションはネイティブ環境内で Box コンテンツにアクセスできます。

開発者は、1,600 を超える統合を使用して、次のような様々なユースケースをサービスとして提供する機能豊富なアプリケーションを構築しています。

  • E-Signature
  • フォーム
  • 情報漏えい防止
  • 情報に関する権利の管理

このクイックスタートでは、Box 統合の構築の基本について説明します。 終了するまでに、最初のファイルが Box にアップロードされています。

認証

Box API との統合を構築すると、ユーザーの代わりにアプリが Box にアクセスします。 このためには、Box で各ユーザーを認証して、ID を検証することと Box アカウントに保存されているコンテンツにアクセスするための権限をアプリに付与することの両方が必要です。

Box は、認証と承認に OAuth 2.0 を使用します。 OAuth 2.0 を使用する理由は、アプリが Box ユーザーのログイン資格情報を保存または転送する必要がないからです。 OAuth では、ユーザーはいつでも無効にできる限られた権限セットを承認できます。

Sample authentication flow

サンプルの認証フロー

Box は、OAuth 2.0 の複雑な部分を処理する多数のウェブおよびモバイル SDK を提供しています。 これらを使用して、複雑さを軽減して開発を合理化することをお勧めします。

Box API の使用

Box 統合の構築の構成要素を理解したので、API 呼び出しの実行を開始して、構築できる内容を確認します。 最初の最も簡単な方法は、開発者トークンを使用して、通常の OAuth 設定を省略して 1 時間以内に呼び出しを行うことです。 以下の手順に従って、開発者トークンを作成して API に対するライブの呼び出しの実行を開始します。

  1. Box 開発者アカウントにサインアップします。 Box アカウントをすでにお持ちの場合は、ヘッダーの[ログイン]タブをクリックします。
  2. アプリケーションを作成
  3. [開発者トークンの作成]を選択します(このトークンは 60 分間有効で、自分のアカウントにのみアクセスできます)。

ルートフォルダにアクセス

開発者トークンを使用して、自分の Box アカウントにアクセスできます。 まず、アカウントのコンテンツの取得の基本を説明します。 あらゆる Box アカウントのコンテンツは、ルートフォルダのコンテンツの一覧を表示することで取得できます。すべてのユーザーについて、ルートフォルダは「0」で識別されます。 cURL を使用する場合は、次のように実行できます。

curl https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer YOUR_DEVELOPER_TOKEN"
root_folder = client.folder(folder_id='0').get()
{
  "type": "folder",
  "id": "0",
  "sequence_id": null,
  "etag": null,
  "name": "All Files",
  "created_at": null,
  "modified_at": null,
  "description": "",
  "size": 0,
  "path_collection": {
    "total_count": 0,
    "entries": []
  },
  "created_by": {
    "type": "user",
    "id": "",
    "name": "",
    "login": ""
  },
  "modified_by": {
    "type": "user",
    "id": "277699565",
    "name": "Sanjay Padval",
    "login": "spadval+integration@box.com"
  },
  "trashed_at": null,
  "purged_at": null,
  "content_created_at": null,
  "content_modified_at": null,
  "owned_by": {
    "type": "user",
    "id": "277699565",
    "name": "Sanjay Padval",
    "login": "spadval+integration@box.com"
  },
  "shared_link": null,
  "folder_upload_email": null,
  "parent": null,
  "item_status": "active",
  "item_collection": {
    "total_count": 1,
    "entries": [
      {
        "type": "folder",
        "id": "7920153233",
        "sequence_id": "1",
        "etag": "1",
        "name": "Game of Thrones Recap"
      }
    ],
    "offset": 0,
    "limit": 100,
    "order": [
      {
        "by": "type",
        "direction": "ASC"
      },
      {
        "by": "name",
        "direction": "ASC"
      }
    ]
  }
}

ファイルをアップロード

ルートフォルダの内容を見ることができたので、API を通じて新しいファイルをいくつか追加しましょう。これはマルチパートのフォームアップロードとして実行する必要があります。cURL で次のようになります。

curl https://upload.box.com/api/2.0/files/content \
 -H "Authorization: Bearer YOUR_DEVELOPER_TOKEN" -X POST \
 -F attributes='{"name":"Jon_Snow.jpeg", "parent":{"id":"0"}}' \
 -F file=@Jon_Snow.jpeg

アラート:

ファイル名を指定するときは、「@」記号を忘れないでください。 これにより、cURL がファイルからデータを読み取ることができます。

正常に完了すると、次のような応答が返されます。

{
  "total_count": 1,
  "entries": [
    {
      "type": "file",
      "id": "65344173073",
      "file_version": {
        "type": "file_version",
        "id": "68655777085",
        "sha1": "a242698061c76fce72675fbade6471ef11cb8346"
      },
      "sequence_id": "0",
      "etag": "0",
      "sha1": "a242698061c76fce72675fbade6471ef11cb8346",
      "name": "John_Snow.jpeg",
      "description": "",
      "size": 69726,
      "path_collection": {
        "total_count": 1,
        "entries": [
          {
            "type": "folder",
            "id": "0",
            "sequence_id": null,
            "etag": null,
            "name": "All Files"
          }
        ]
      },
      "created_at": "2016-05-13T14:36:30-07:00",
      "modified_at": "2016-05-13T14:36:30-07:00",
      "trashed_at": null,
      "purged_at": null,
      "content_created_at": "2016-05-13T14:36:30-07:00",
      "content_modified_at": "2016-05-13T14:36:30-07:00",
      "created_by": {
        "type": "user",
        "id": "277699565",
        "name": "Sanjay Padval",
        "login": "spadval+integration@box.com"
      },
      "modified_by": {
        "type": "user",
        "id": "277699565",
        "name": "Sanjay Padval",
        "login": "spadval+integration@box.com"
      },
      "owned_by": {
        "type": "user",
        "id": "277699565",
        "name": "Sanjay Padval",
        "login": "spadval+integration@box.com"
      },
      "shared_link": null,
      "parent": {
        "type": "folder",
        "id": "0",
        "sequence_id": null,
        "etag": null,
        "name": "All Files"
      },
      "item_status": "active"
    }
  ]
}

ファイルをダウンロード

file_id を取得することができたので、この ID を利用できるようになりました。同じファイルを今度はダウンロードして、一連の流れを確認してみましょう。 /files 以下のリソースに次のような GET 要求を実行します。

curl -L https://api.box.com/2.0/files/65344173073/content
-H "Authorization: Bearer YOUR_DEVELOPER_TOKEN"

この要求への応答は、ファイル自体となります。

次の手順

おめでとうございます。 API を使用して、最初のファイルを Box にアップロードしました。Box Content API の他の機能を試すために、引き続き開発者トークンを使用することをお勧めします。準備ができたら、次のチュートリアルに進むことができます。次のチュートリアルでは、アプリケーションの OAuth 2.0 フローを設定します。

Questions
If you have any questions, please visit our developer forum.

はじめに