日本時間5月16日のContent Cloud Summitで、カスタムアプリにBox AI APIを活用する方法を紹介します。

詳細を表示

フォルダに共有リンクを追加

put
https://api.box.com/2.0
/folders/:folder_id

フォルダに共有リンクを追加します。

リクエスト

bearer [ACCESS_TOKEN]
application/json

パスパラメータ

stringパス内必須
12345

フォルダを表す一意の識別子。

フォルダIDを確認するには、ウェブアプリケーションでこのフォルダにアクセスして、URLからIDをコピーします。たとえば、URLがhttps://*.app.box.com/folder/123の場合、folder_id123です。

Boxアカウントのルートフォルダは常にID 0で表されます。

クエリパラメータ

stringクエリ内必須
shared_link

この項目に返されるshared_linkフィールドを明示的にリクエストします。

リクエスト本文

レスポンス

application/jsonフォルダ (Full)

新しい共有リンクが追加されているフォルダのBase版の表示を返します。

権限の組み合わせが正しくない場合に返されます。

Authorizationヘッダーで指定されているアクセストークンが認識されないか、指定されていない場合に返されます。

更新を完了するための権限がユーザーに不足している場合に返されます。

フォルダが見つからない場合、またはユーザーにフォルダへのアクセス権限が与えられていない場合に返されます。

folder_idが認識されていない形式で指定されている場合に返されます。

If-Matchヘッダーがフォルダの現在のetag値と一致しない場合はエラーを返します。これは、フォルダが前回リクエストされたときから変更されていることを示します。

予期しないクライアントエラー。

put
フォルダに共有リンクを追加
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X PUT "https://api.box.com/2.0/folders/32423234?fields=shared_link" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -d '{
       "shared_link": {
         "access": "open",
         "password": "mypassword",
         "unshared_at": "2012-12-12T10:53:43-08:00",
         "permissions": {
           "can_download": false
         }
       }
     }'
.NET
var sharedLinkParams = new BoxSharedLinkRequest()
{
    Access = BoxSharedLinkAccessType.open
};
BoxFolder folder = await client.FoldersManager.CreateSharedLinkAsync("11111", sharedLinkParams);
string sharedLinkUrl = folder.SharedLink.Url;
Java
// Optionally we can calculate and set the date when shared link will automatically be disabled
final long ONE_WEEK_MILLIS = 1000 * 60 * 60 * 24 * 7;
long unsharedTimestamp = System.currentTimeMillis() + ONE_WEEK_MILLIS;
Date unsharedDate = new Date(unsharedTimestamp);

BoxFolder folder = new BoxFolder(api, "id");
BoxSharedLinkRequest sharedLinkRequest = new BoxSharedLinkRequest()
        .access(OPEN)
        .permissions(true, true)
        .unsharedDate(unsharedDate);
BoxSharedLink sharedLink = folder.createSharedLink(sharedLinkRequest);
Python
folder_id = '11111'

url = client.folder(folder_id).get_shared_link(access='open', allow_download=False)
print(f'The folder shared link URL is: {url}')
Node
client.folders.update('12345', {
  shared_link: {
    access: "open",
    password: "do-not-use-this-password",
    unshared_at: "2022-12-12T10:53:43-08:00",
    vanity_name: "my-shared-link",
    permissions: {
      can_view: true,
      can_download: true
    }
  }
}).then(folder => {
  // ...
})
iOS
client.folders.setSharedLink(forFolder: "11111", access: .open) { (result: Result<SharedLink, BoxSDKError>) in
    guard case let .success(sharedLink) = result else {
        print("Error setting folder shared link")
        return
    }

    print("Folder shared link URL is \(sharedLink.url), with \(sharedLink.access) access")
}

レスポンスの例

{
  "id": "12345",
  "type": "folder",
  "etag": "1",
  "shared_link": {
    "url": "https://app.box.com/s/kwio6b4ovt1264rnfbyqo1",
    "download_url": "https://app.box.com/shared/static/kwio6b4ovt1264rnfbyqo1.pdf",
    "vanity_url": null,
    "vanity_name": null,
    "effective_access": "open",
    "effective_permission": "can_download",
    "is_password_enabled": false,
    "unshared_at": "2020-09-21T10:34:41-07:00",
    "download_count": 0,
    "preview_count": 0,
    "access": "open",
    "permissions": {
      "can_preview": true,
      "can_download": true,
      "can_edit": false
    }
  }
}