-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaccess_token.py
More file actions
43 lines (37 loc) · 2.09 KB
/
Copy pathaccess_token.py
File metadata and controls
43 lines (37 loc) · 2.09 KB
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
43
import requests
import sys
from datetime import datetime, timedelta
AUTH_SERVER_URI = 'https://auth.mimi.fd.ai/v2/token'
APPLICATION_ID = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # Fix me
APPLICATION_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # Fix me
ASR_SCOPE = ['https://apis.mimi.fd.ai/auth/asr/http-api-service','https://apis.mimi.fd.ai/auth/asr/websocket-api-service']
ASR_NICT_SCOPE = ['https://apis.mimi.fd.ai/auth/nict-asr/http-api-service','https://apis.mimi.fd.ai/auth/nict-asr/websocket-api-service']
TTS_SCOPE = ['https://apis.mimi.fd.ai/auth/nict-tts/http-api-service']
TRA_SCOPE = ['https://apis.mimi.fd.ai/auth/nict-tra/http-api-service']
LID_SCOPE = ['https://apis.mimi.fd.ai/auth/lid/http-api-service','https://apis.mimi.fd.ai/auth/lid/websocket-api-service']
SRS_SCOPE = ['https://apis.mimi.fd.ai/auth/srs/http-api-service','https://apis.mimi.fd.ai/auth/srs/websocket-api-service']
AIR_SCOPE = ['https://apis.mimi.fd.ai/auth/air/http-api-service','https://apis.mimi.fd.ai/auth/air/websocket-api-service']
EMO_SCOPE = ['https://apis.mimi.fd.ai/auth/emo-categorical/http-api-service','https://apis.mimi.fd.ai/auth/emo-categorical/websocket-api-service']
SCOPE = ';'.join(ASR_SCOPE + ASR_NICT_SCOPE + TTS_SCOPE + TRA_SCOPE + LID_SCOPE + SRS_SCOPE + AIR_SCOPE + EMO_SCOPE)
def get_access_token():
now = datetime.now()
data = {
'client_id': APPLICATION_ID,
'client_secret': APPLICATION_SECRET,
'grant_type': 'https://auth.mimi.fd.ai/grant_type/application_credentials',
'scope': SCOPE
}
resp = requests.post(AUTH_SERVER_URI, data=data)
resp.raise_for_status()
token_info = resp.json()
expire_datetime = now + timedelta(seconds=token_info['expires_in'])
print(f'Expires At: {expire_datetime.strftime("%Y-%m-%d %H:%M:%S")}', file=sys.stderr)
return token_info['accessToken']
if __name__ == '__main__':
print('getting an access token...', file=sys.stderr)
try:
print(get_access_token())
print('done.', file=sys.stderr)
except Exception as e:
print(f'ERROR: {type(e).__name__}: {e}', file=sys.stderr)
sys.exit(1)