Box Developerドキュメント

User Eventの取得

User Eventの取得

User Eventを取得するには、任意のユーザーとして認証し、GET /events 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,
    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);

返されるイベントは、APIの作成に使用したアクセストークンを所有するユーザーのみを対象とします。別のユーザーのイベントフィードを取得するには、as-userヘッダーか、そのユーザーの実際のアクセストークンを使用します。

ストリームタイプ

User Event Streamでは、3つのタイプのストリームがサポートされます。

ストリームタイプ
allユーザーに関するすべてのイベントを返します (デフォルト)。
changesファイルの更新やコラボレーションなど、ファイルツリーを変更する可能性があるイベントを返します。
sync変更に似ていますが、同期対象フォルダにのみ適用されます。

匿名ユーザー

場合によっては、イベントフィードには、IDが2のユーザーが表示される可能性があります。これは、匿名ユーザーを表すBoxの内部識別子です。

匿名ユーザーは、ログインしていないユーザーです。この状況は、ユーザーがコンテンツを操作し、最初にログインを求められない場合にいつでも発生する可能性があります。たとえば、ユーザーが、公開共有リンクを使用してファイルをダウンロードするときなどです。

制限

Boxでのイベントの保存は無期限ではありません。

User Eventは2週間から2か月間保存され、その後、保存されたUser Eventは削除されます。Enterprise Eventには、APIを介した場合は1年間、Box管理コンソールのエクスポートされたレポート経由の場合は7年間アクセスできます。

このフィードでは、完全な結果を迅速に返すことを重視しています。つまり、Boxではイベントを複数回または異なる順序で返す可能性があります。重複するイベントは、イベントIDによって識別できます。

Long polling

User Event Streamでは、OPTIONS /events APIを介してLong pollingがサポートされます。

イベントタイプ

ユーザーに対して、以下のイベントがトリガーされます。このリストですべてを網羅しているわけではないため、記載されていないイベントが表示される可能性もあります。

以下のイベントは、すべてのフィードで使用できます。

イベント名説明
ITEM_CREATEフォルダまたはファイルが作成されました。
ITEM_UPLOADフォルダまたはファイルがアップロードされました。
ITEM_MOVEファイルまたはフォルダが移動されました。
ITEM_COPYファイルまたはフォルダがコピーされました。
LOCK_CREATEファイルがロックされました。
LOCK_DESTROYファイルがロック解除されました。ロックされたファイルが削除されると、ソースファイルはnullになります。
ITEM_TRASHファイルまたはフォルダが削除済みとしてマークされました。
ITEM_UNDELETE_VIA_TRASHファイルまたはフォルダがごみ箱から戻されました。
COLLAB_ADD_COLLABORATORコラボレータがフォルダに追加されました。
COLLAB_ROLE_CHANGEコラボレータの役割が変更されました。
COLLAB_INVITE_COLLABORATORコラボレータがフォルダに招待されました。
COLLAB_REMOVE_COLLABORATORコラボレータがフォルダから削除されました。
ITEM_SYNCフォルダが同期対象としてマークされました。
ITEM_UNSYNCフォルダの同期対象のマークが解除されました。
ITEM_RENAMEファイルまたはフォルダの名前が変更されました。
ITEM_MAKE_CURRENT_VERSION前のバージョンのファイルが現在のバージョンに昇格されました。
GROUP_ADD_USERグループへのユーザーの追加
GROUP_REMOVE_USERグループからのユーザーの削除

以下のイベントは、allフィードでのみ使用できます。

イベント名説明
COMMENT_CREATEフォルダ、ファイル、または他のコメントに対するコメントが作成されました。
COMMENT_DELETEフォルダ、ファイル、または他のコメントに対するコメントが削除されました。
ITEM_DOWNLOADファイルまたはフォルダがダウンロードされました。
ITEM_PREVIEWファイルがプレビューされました。
TASK_ASSIGNMENT_CREATEタスクが割り当てられました。
TASK_CREATEタスクが作成されました。
ITEM_SHARED_CREATEファイルまたはフォルダの共有が有効化されました。
ITEM_SHARED_UNSHAREファイルまたはフォルダの共有が無効化されました。
ITEM_SHAREDフォルダが共有されました。
TAG_ITEM_CREATEタグがファイルまたはフォルダに追加されました。
ENABLE_TWO_FACTOR_AUTHユーザーによって2要素認証が有効化されました。
MASTER_INVITE_ACCEPT管理対象ユーザーになるための招待が無料ユーザーによって承認されました。
MASTER_INVITE_REJECT管理対象ユーザーになるための招待が無料ユーザーによって拒否されました。
ACCESS_GRANTEDアカウントに対するBoxのアクセス権限が付与されました。
ACCESS_REVOKEDアカウントに対するBoxのアクセス権限が取り消されました。

イベント通知

イベントストリームのノイズを低減し、イベントの利用を最適化するために、表に示されているイベントタイプでは、トリガーする通知の数が制限されています。

イベントタイプ通知の動作
COLLAB_ADD_COLLABORATOR, COLLAB_REMOVE_COLLABORATOR, COLLAB_INVITE_COLLABORATOR, COLLAB_ROLE_CHANGEこれらのイベントが発生すると、changesイベントストリームのコンテンツ所有者に通知が送信されます。コラボレータには、allストリーム上に表示されるイベントと一致する追加のイベントが表示されます。
ITEM_DOWNLOAD項目がダウンロードされると、コンテンツ所有者だけが通知を受信します。コラボレータには通知されません。
ITEM_PREVIEW項目がプレビューされると、コンテンツ所有者だけが通知を受信します。コラボレータには通知されません。