Skip to content

Commit 0cbe1c6

Browse files
committed
docs: add OAuth grants example files
1 parent 734b2d3 commit 0cbe1c6

2 files changed

Lines changed: 70 additions & 0 deletions

File tree

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import asyncio
2+
import os
3+
4+
import resend
5+
6+
if not os.environ["RESEND_API_KEY"]:
7+
raise EnvironmentError("RESEND_API_KEY is missing")
8+
9+
10+
async def main() -> None:
11+
grants: resend.OAuthGrants.ListResponse = await resend.OAuthGrants.list_async()
12+
print(f"Found {len(grants['data'])} OAuth grants")
13+
for grant in grants["data"]:
14+
print(grant["id"])
15+
print(grant["client_id"])
16+
print(grant["scopes"])
17+
print(grant["created_at"])
18+
print(grant["client"]["name"])
19+
20+
if grants["data"]:
21+
revoked = await resend.OAuthGrants.revoke_async(
22+
oauth_grant_id=grants["data"][0]["id"]
23+
)
24+
print(f"Revoked OAuth grant: {revoked['id']}")
25+
print(f"Revoked at: {revoked['revoked_at']}")
26+
print(f"Revoked reason: {revoked['revoked_reason']}")
27+
28+
29+
if __name__ == "__main__":
30+
asyncio.run(main())

examples/oauth_grants.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import os
2+
3+
import resend
4+
5+
if not os.environ["RESEND_API_KEY"]:
6+
raise EnvironmentError("RESEND_API_KEY is missing")
7+
8+
grants: resend.OAuthGrants.ListResponse = resend.OAuthGrants.list()
9+
print(f"Found {len(grants['data'])} OAuth grants")
10+
print(f"Has more grants: {grants['has_more']}")
11+
if not grants["data"]:
12+
print("No OAuth grants found")
13+
for grant in grants["data"]:
14+
print(grant["id"])
15+
print(grant["client_id"])
16+
print(grant["scopes"])
17+
print(grant["created_at"])
18+
print(grant["client"]["name"])
19+
20+
print("\n--- Using pagination parameters ---")
21+
if grants["data"]:
22+
paginated_params: resend.OAuthGrants.ListParams = {
23+
"limit": 5,
24+
"after": grants["data"][0]["id"],
25+
}
26+
paginated_grants: resend.OAuthGrants.ListResponse = resend.OAuthGrants.list(
27+
params=paginated_params
28+
)
29+
print(f"Retrieved {len(paginated_grants['data'])} grants with pagination")
30+
print(f"Has more grants: {paginated_grants['has_more']}")
31+
else:
32+
print("No OAuth grants available for pagination example")
33+
34+
if grants["data"]:
35+
revoked: resend.OAuthGrants.RevokeOAuthGrantResponse = resend.OAuthGrants.revoke(
36+
oauth_grant_id=grants["data"][0]["id"]
37+
)
38+
print(f"Revoked OAuth grant: {revoked['id']}")
39+
print(f"Revoked at: {revoked['revoked_at']}")
40+
print(f"Revoked reason: {revoked['revoked_reason']}")

0 commit comments

Comments
 (0)