Box Developerドキュメント

User EventおよびEnterprise Eventのリストを取得

get
https://api.box.com/2.0
/events

指定したユーザーまたは会社全体の過去のイベントを最大1年間遡って返します。

デフォルトでは、認証済みユーザーのイベントが返されます。Enterprise全体のイベントを取得するには、stream_typeadmin_logs_streamingに設定して新しいイベントをライブで監視するか、admin_logsに設定してイベントの履歴を照会します。このAPIコールを行うユーザーは管理者権限を所有していること、アプリケーションではmanage enterprise propertiesスコープが確認されていることが必要になります。

リクエスト

bearer [ACCESS_TOKEN]
application/json

クエリパラメータ

string (date-time)クエリ内省略可能
2012-12-12T10:53:43-08:00

イベントを返す日時の下限。stream_typeadmin_logsのイベントをリクエストする場合にのみ使用できます。stream_typeがこれ以外の場合、この値は無視されます。

string (date-time)クエリ内省略可能
2013-12-12T10:53:43-08:00

イベントを返す日時の上限。stream_typeadmin_logsのイベントをリクエストする場合にのみ使用できます。stream_typeがこれ以外の場合、この値は無視されます。

string arrayクエリ内省略可能
ACCESS_GRANTED

フィルタとして使用するイベントのコンマ区切りリスト。stream_typeadmin_logsまたはadming_logs_streamingのイベントをリクエストする場合にのみ使用できます。stream_typeがその他の場合、この値は無視されます。

integer (int64)クエリ内省略可能
50
100
500

返されるイベントの数を制限します

注: まだイベントが残っているときでも、返されるイベントの数がリクエストされた制限を下回る場合があります。これは主に、多数のイベントがすでに取得されていて、他に結果があるかどうかを確認するためにこの取得したイベントが先延ばしせずに返される場合に発生します。

stringクエリ内省略可能
1348790499819

イベントの受け入れを開始するイベントストリーム内の位置。

  • nowを指定すると、初期化のために空のリストイベントとともに最新のストリーム位置が返されます。
  • 0またはnullを指定すると、すべてのイベントが返されます。
stringクエリ内省略可能
all
"all"

返されるイベントのタイプを定義します

  • allを指定すると、ユーザーに関するすべてのイベントが返されます (デフォルト)。
  • changesを指定すると、ファイルの更新やコラボレーションなど、ファイルツリーを変更する可能性があるイベントが返されます。
  • syncchangesに似ていますが、同期対象フォルダのみに適用されます
  • admin_logsを指定すると、Enterprise全体のイベントがすべて返されるほか、このAPIコールを行うユーザーには管理者権限が必要になります。このストリームタイプは、Enterprise内の全ユーザーの1年分のイベント履歴やcreated_afterからcreated_beforeまでの期間内のイベントをプログラムによってプルすることを目的とします。履歴に含まれるすべてのイベントは、イベントの時刻に基づいて時系列で返されますが、レイテンシはadmin_logs_streamingよりもかなり高くなります。
  • admin_logs_streamingを指定すると、Enterprise全体のイベントがすべて返されるほか、このAPIコールを行うユーザーには管理者権限が必要になります。このストリームタイプは、Enterprise内の全ユーザーの最近のイベントをポーリングすることを目的としています。レイテンシはadmin_logsよりもかなり低くなりますが、イベントは時系列で返されず、重複を含む場合があります。

次の値のいずれか1つ: all,changes,sync,admin_logs,admin_logs_streaming

レスポンス

application/jsonEvents

イベントオブジェクトのリストを返します。

イベントオブジェクトは複数のページで返され、各ページ (チャンク) にイベントオブジェクトのリストが含まれます。レスポンスには、このチャンクで返されたイベント数を示すchunk_sizeパラメータに加え、クエリできる次のstream_positionが含まれます。

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

get
User EventおよびEnterprise Eventのリストを取得
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X GET "https://api.box.com/2.0/events" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
TypeScript Gen
await client.events.getEvents({
  streamType: 'admin_logs' as GetEventsQueryParamsStreamTypeField,
  limit: 1,
  createdAfter: createdAfterDate,
  createdBefore: createdBeforeDate,
} satisfies GetEventsQueryParams);
Python Gen
client.events.get_events(
    stream_type=GetEventsStreamType.ADMIN_LOGS.value,
    limit=1,
    created_after=created_after_date,
    created_before=created_before_date,
)
.NET Gen
await client.Events.GetEventsAsync(queryParams: new GetEventsQueryParams() { StreamType = GetEventsQueryParamsStreamTypeField.AdminLogs, Limit = 1, CreatedAfter = createdAfterDate, CreatedBefore = createdBeforeDate });
Java
EventStream stream = new EventStream(api);
stream.addListener(new EventListener() {
  public void onEvent(BoxEvent event) {
      // Handle the event.
    }
});
stream.start();
Python
stream_position = 0
events = client.events().get_events(stream_position=stream_position)
stream_position = events['next_stream_position']
for event in events['entries']:
    print(f'Got {event.event_type} event that occurred at {event.created_at}')
.NET
BoxEventCollection<BoxEnterpriseEvent> events = await client.EventsManager.UserEventsAsync();
Node
client.events.get({stream_position: '1408838928446360'}, callback);

レスポンスの例

{
  "chunk_size": 2,
  "entries": [
    {
      "type": "event",
      "created_at": "2022-12-12T10:53:43-08:00",
      "recorded_at": "2022-12-12T10:54:43-08:00",
      "event_id": "f82c3ba03e41f7e8a7608363cc6c0390183c3f83",
      "created_by": {
        "id": "11446498",
        "type": "user",
        "name": "Aaron Levie",
        "login": "ceo@example.com"
      },
      "event_type": "FILE_MARKED_MALICIOUS",
      "session_id": "70090280850c8d2a1933c1",
      "source": {
        "id": "11446498",
        "type": "user",
        "name": "Aaron Levie",
        "login": "ceo@example.com",
        "created_at": "2012-12-12T10:53:43-08:00",
        "modified_at": "2012-12-12T10:53:43-08:00",
        "language": "en",
        "timezone": "Africa/Bujumbura",
        "space_amount": 11345156112,
        "space_used": 1237009912,
        "max_upload_size": 2147483648,
        "status": "active",
        "job_title": "CEO",
        "phone": "6509241374",
        "address": "900 Jefferson Ave, Redwood City, CA 94063",
        "avatar_url": "https://www.box.com/api/avatar/large/181216415",
        "notification_email": {
          "email": "notifications@example.com",
          "is_confirmed": true
        }
      },
      "additional_details": {
        "key": "value"
      }
    }
  ],
  "next_stream_position": 1152922976252290800
}