Edits history of script submission #14454 for ' List all webhooks (box)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Box = {
      token: string;
    };
    /**
     * List all webhooks
     * Returns all defined webhooks for the requesting application.
    
    This API only returns webhooks that are applied to files or folders that are
    owned by the authenticated user. This means that an admin can not see webhooks
    created by a service account unless the admin has access to those folders, and
    vice versa.
     */
    export async function main(
      auth: Box,
      marker: string | undefined,
      limit: string | undefined,
    ) {
      const url = new URL(`https://api.box.com/2.0/webhooks`);
      for (const [k, v] of [
        ["marker", marker],
        ["limit", limit],
      ]) {
        if (v !== undefined && v !== "" && k !== undefined) {
          url.searchParams.append(k, v);
        }
      }
      const response = await fetch(url, {
        method: "GET",
        headers: {
          Authorization: "Bearer " + auth.token,
        },
        body: undefined,
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 235 days ago