//native
type Box = {
token: string;
};
/**
* Get user
* Retrieves information about a user in the enterprise.
The application and the authenticated user need to
have the permission to look up users in the entire
enterprise.
This endpoint also returns a limited set of information
for external users who are collaborated on content
owned by the enterprise for authenticated users with the
right scopes. In this case, disallowed fields will return
null instead.
*/
export async function main(
auth: Box,
user_id: string,
fields: string | undefined,
) {
const url = new URL(`https://api.box.com/2.0/users/${user_id}`);
for (const [k, v] of [["fields", fields]]) {
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