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.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);

返されるイベントは、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 | A collaborator had their role changed | | COLLAB_INVITE_COLLABORATOR | A collaborator was invited on a folder | | COLLAB_REMOVE_COLLABORATOR | A collaborator was removed from a folder | | ITEM_SYNC | A folder was marked for sync | | ITEM_UNSYNC | A folder was unmarked for sync | | ITEM_RENAME | A file or folder was renamed | | ITEM_MAKE_CURRENT_VERSION | A previous version of a file was promoted to the current version | | GROUP_ADD_USER | Added user to group | | GROUP_REMOVE_USER | Removed user from group |

以下のイベントは、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_AUTH2 factor authentication enabled by user
MASTER_INVITE_ACCEPTFree user accepts invitation to become a managed user
MASTER_INVITE_REJECTFree user rejects invitation to become a managed user
ACCESS_GRANTEDGranted Box access to account
ACCESS_REVOKEDRevoke Box access to account

Event notifications

To reduce the noise of the event stream and optimize event consumption, the event types listed in the table trigger a limited number of notifications.

Event typeNotification behavior
COLLAB_ADD_COLLABORATOR, COLLAB_REMOVE_COLLABORATOR, COLLAB_INVITE_COLLABORATOR, COLLAB_ROLE_CHANGEWhen these events take place, the content owner on the changes event stream is notified. Collaborators see an additional event that matches what they see on the all stream.
ITEM_DOWNLOADWhen an item is downloaded, only the content owner gets the notification. Collaborators are not notified.
ITEM_PREVIEWWhen an item is previewed, only the content owner gets the notification. Collaborators are not notified.