User Eventの取得
User Eventの取得
User Eventを取得するには、任意のユーザーとして認証し、GET /events
APIを呼び出します。
curl -i -X GET "https://api.box.com/2.0/events" \
-H "authorization: Bearer <ACCESS_TOKEN>"
await client.events.getEvents({
streamType: 'admin_logs' as GetEventsQueryParamsStreamTypeField,
limit: 1,
createdAfter: createdAfterDate,
createdBefore: createdBeforeDate,
} satisfies GetEventsQueryParams);
client.events.get_events(
stream_type=GetEventsStreamType.ADMIN_LOGS,
limit=1,
created_after=created_after_date,
created_before=created_before_date,
)
await client.Events.GetEventsAsync(queryParams: new GetEventsQueryParams() { StreamType = GetEventsQueryParamsStreamTypeField.AdminLogs, Limit = 1, CreatedAfter = createdAfterDate, CreatedBefore = createdBeforeDate });
EventStream stream = new EventStream(api);
stream.addListener(new EventListener() {
public void onEvent(BoxEvent event) {
// Handle the event.
}
});
stream.start();
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}')
BoxEventCollection<BoxEnterpriseEvent> events = await client.EventsManager.UserEventsAsync();
client.events.get({stream_position: '1408838928446360'}, callback);
ストリームタイプ
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 | 項目がプレビューされると、コンテンツ所有者だけが通知を受信します。コラボレータには通知されません。 |