1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
export const jsonOkExample = async () => {
// cSpell:words imgur
const clientId = Deno.env.get("imgur_client_id");
const albumId = "QIY0Aed";
interface ImgurImage {
"id": string;
"title": string | null;
"description": string | null;
"datetime": number;
"type": string;
}
interface ImgurResponse {
"data": Array<ImgurImage>;
"success": boolean;
"status": number;
}
const imgurRequest = await fetch(
`https://api.imgur.com/3/album/${albumId}/images`,
{
headers: {
"Authorization": `Client-ID ${clientId}`,
},
},
);
const imgurResponse = await imgurRequest.json() as ImgurResponse;
return Response.json(
imgurResponse.success
? imgurResponse.data.map(
(image) => ({
"url": `https://i.imgur.com/${image.id}.jpg`,
"title": image.description,
}),
)
: { "error": imgurResponse.status },
);
};