Skip to content

Commit e371267

Browse files
committed
Additional docstring updates.
1 parent f8b93f6 commit e371267

File tree

2 files changed

+42
-4
lines changed

2 files changed

+42
-4
lines changed

src/autodesk_forge_sdk/md.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import base64
22
from urllib.parse import quote
3-
from .auth import BaseOAuthClient, Scope, TokenProviderInterface
3+
from .auth import BaseOAuthClient, Scope, TokenProviderInterface, SimpleTokenProvider, OAuthTokenProvider
44

55
BASE_URL = 'https://developer.api.autodesk.com/modelderivative/v2'
66
WRITE_SCOPES = [Scope.DataCreate, Scope.DataWrite, Scope.DataRead]
@@ -38,8 +38,27 @@ def __init__(self, token_provider, base_url=BASE_URL):
3838
Create new instance of the client.
3939
4040
Args:
41-
token_provider (TokenProviderInterface): Provider that will be used to generate access tokens for API calls.
41+
token_provider (autodesk_forge_sdk.auth.TokenProviderInterface): Provider that will be used to generate access tokens for API calls.
42+
43+
Use `autodesk_forge_sdk.auth.OAuthTokenProvider` if you have your app's client ID and client secret available,
44+
`autodesk_forge_sdk.auth.SimpleTokenProvider` if you would like to use an existing access token instead,
45+
or even your own implementation of the `autodesk_forge_sdk.auth.TokenProviderInterface` interface.
4246
base_url (str, optional): Base URL for API calls.
47+
48+
Examples:
49+
```
50+
FORGE_CLIENT_ID = os.environ["FORGE_CLIENT_ID"]
51+
FORGE_CLIENT_SECRET = os.environ["FORGE_CLIENT_SECRET"]
52+
client1 = ModelDerivativeClient(OAuthTokenProvider(FORGE_CLIENT_ID, FORGE_CLIENT_SECRET))
53+
54+
FORGE_ACCESS_TOKEN = os.environ["FORGE_ACCESS_TOKEN"]
55+
client2 = ModelDerivativeClient(SimpleTokenProvider(FORGE_ACCESS_TOKEN))
56+
57+
class MyTokenProvider(autodesk_forge_sdk.auth.TokenProviderInterface):
58+
def get_token(self, scopes):
59+
return "your own access token retrieved from wherever"
60+
client3 = ModelDerivativeClient(MyTokenProvider())
61+
```
4362
"""
4463
BaseOAuthClient.__init__(self, token_provider, base_url)
4564

src/autodesk_forge_sdk/oss.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from enum import Enum
22
from urllib.parse import quote
3-
from .auth import BaseOAuthClient, Scope, TokenProviderInterface
3+
from .auth import BaseOAuthClient, Scope, TokenProviderInterface, SimpleTokenProvider, OAuthTokenProvider
44

55
BASE_URL = 'https://developer.api.autodesk.com/oss/v2'
66
READ_SCOPES = [Scope.BucketRead, Scope.DataRead]
@@ -44,8 +44,27 @@ def __init__(self, token_provider, base_url=BASE_URL):
4444
Create new instance of the client.
4545
4646
Args:
47-
token_provider (TokenProviderInterface): Provider that will be used to generate access tokens for API calls.
47+
token_provider (autodesk_forge_sdk.auth.TokenProviderInterface): Provider that will be used to generate access tokens for API calls.
48+
49+
Use `autodesk_forge_sdk.auth.OAuthTokenProvider` if you have your app's client ID and client secret available,
50+
`autodesk_forge_sdk.auth.SimpleTokenProvider` if you would like to use an existing access token instead,
51+
or even your own implementation of the `autodesk_forge_sdk.auth.TokenProviderInterface` interface.
4852
base_url (str, optional): Base URL for API calls.
53+
54+
Examples:
55+
```
56+
FORGE_CLIENT_ID = os.environ["FORGE_CLIENT_ID"]
57+
FORGE_CLIENT_SECRET = os.environ["FORGE_CLIENT_SECRET"]
58+
client1 = OSSClient(OAuthTokenProvider(FORGE_CLIENT_ID, FORGE_CLIENT_SECRET))
59+
60+
FORGE_ACCESS_TOKEN = os.environ["FORGE_ACCESS_TOKEN"]
61+
client2 = OSSClient(SimpleTokenProvider(FORGE_ACCESS_TOKEN))
62+
63+
class MyTokenProvider(autodesk_forge_sdk.auth.TokenProviderInterface):
64+
def get_token(self, scopes):
65+
return "your own access token retrieved from wherever"
66+
client3 = OSSClient(MyTokenProvider())
67+
```
4968
"""
5069
BaseOAuthClient.__init__(self, token_provider, base_url)
5170

0 commit comments

Comments
 (0)