Skip to content

Commit 23967cb

Browse files
authored
add serviceProviderApi
1 parent 6162fa0 commit 23967cb

File tree

5 files changed

+84
-7
lines changed

5 files changed

+84
-7
lines changed

api/examples/ServiceCorpTest.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
from ServiceCorpApi import *
1818
from TestConf import *
1919

20+
21+
## 第三方服务商接口的使用方法
2022
api = ServiceCorpApi(
2123
"SUITE_ID",
2224
"SUITE_SECRET",
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/usr/bin/env python
2+
# -*- coding:utf-8 -*-
3+
##
4+
# Copyright (C) 2018 All rights reserved.
5+
#
6+
# @File ServiceProviderTest.py
7+
# @Brief
8+
# @Author abelzhu, abelzhu@tencent.com
9+
# @Version 1.0
10+
# @Date 2018-02-26
11+
#
12+
#
13+
14+
import sys
15+
sys.path.append("../src/")
16+
17+
from ServiceProviderApi import *
18+
from TestConf import *
19+
20+
api = ServiceProviderApi('CORPID', 'PROVIDER_SECRET')
21+
22+
try :
23+
response = api.httpCall(
24+
SERVICE_PROVIDER_API_TYPE['GET_LOGIN_INFO'],
25+
{
26+
'auth_code' : 'XXXXXXX',
27+
})
28+
print response
29+
except ApiException as e :
30+
print e.errCode, e.errMsg

api/src/CorpApi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
'AGENT_SET' : ['/cgi-bin/agent/set?access_token=ACCESS_TOKEN', 'POST'],
4848
'AGENT_GET_LIST' : ['/cgi-bin/agent/list?access_token=ACCESS_TOKEN', 'GET'],
4949

50-
'MENU_CREATE' : ['/cgi-bin/menu/create?access_token=ACCESS_TOKEN', 'POST'],
50+
'MENU_CREATE' : ['/cgi-bin/menu/create?access_token=ACCESS_TOKEN', 'POST'], ## TODO
5151
'MENU_GET' : ['/cgi-bin/menu/get?access_token=ACCESS_TOKEN', 'GET'],
5252
'MENU_DELETE' : ['/cgi-bin/menu/delete?access_token=ACCESS_TOKEN', 'GET'],
5353

api/src/ServiceCorpApi.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
from CorpApi import *
1515

1616
SERVICE_CORP_API_TYPE = {
17-
'GET_CORP_TOKEN' : ['/cgi-bin/service/get_corp_token?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
18-
'GET_SUITE_TOKEN' : ['/cgi-bin/service/get_suite_token', 'POST'],
17+
'GET_CORP_TOKEN' : ['/cgi-bin/service/get_corp_token?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
18+
'GET_SUITE_TOKEN' : ['/cgi-bin/service/get_suite_token', 'POST'],
1919
'GET_PRE_AUTH_CODE' : ['/cgi-bin/service/get_pre_auth_code?suite_access_token=SUITE_ACCESS_TOKEN', 'GET'],
20-
'SET_SESSION_INFO ' : ['/cgi-bin/service/set_session_info?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
21-
'GET_PERMANENT_CODE' : ['/cgi-bin/service/get_permanent_code?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
22-
'GET_AUTH_INFO ' : ['/cgi-bin/service/get_auth_info?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
23-
'GET_ADMIN_LIST ' : ['/cgi-bin/service/get_admin_list?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
20+
'SET_SESSION_INFO' : ['/cgi-bin/service/set_session_info?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
21+
'GET_PERMANENT_CODE': ['/cgi-bin/service/get_permanent_code?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
22+
'GET_AUTH_INFO' : ['/cgi-bin/service/get_auth_info?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
23+
'GET_ADMIN_LIST' : ['/cgi-bin/service/get_admin_list?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
2424
'GET_USER_INFO_BY_3RD' : ['/cgi-bin/service/getuserinfo3rd?suite_access_token=SUITE_ACCESS_TOKEN', 'GET'],
2525
'GET_USER_DETAIL_BY_3RD' : ['/cgi-bin/service/getuserdetail3rd?suite_access_token=SUITE_ACCESS_TOKEN', 'POST'],
2626
}

api/src/ServiceProviderApi.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/usr/bin/env python
2+
# -*- coding:utf-8 -*-
3+
##
4+
# Copyright (C) 2018 All rights reserved.
5+
#
6+
# @File ServiceProviderApi.py
7+
# @Brief
8+
# @Author abelzhu, abelzhu@tencent.com
9+
# @Version 1.0
10+
# @Date 2018-02-26
11+
#
12+
#
13+
14+
from AbstractApi import *
15+
16+
SERVICE_PROVIDER_API_TYPE = {
17+
'GET_PROVIDER_TOKEN': ['/cgi-bin/service/get_provider_token', 'POST'],
18+
'GET_LOGIN_INFO' : ['/cgi-bin/service/get_login_info?access_token=PROVIDER_ACCESS_TOKEN', 'POST'],
19+
'GET_REGISTER_CODE' : ['/cgi-bin/service/get_register_code?provider_access_token=PROVIDER_ACCESS_TOKEN', 'POST'],
20+
'GET_REGISTER_INFO' : ['/cgi-bin/service/get_register_info?provider_access_token=PROVIDER_ACCESS_TOKEN', 'POST'],
21+
'SET_AGENT_SCOPE' : ['/cgi-bin/agent/set_scope', 'POST'], ### TODO
22+
'SET_CONTACT_SYNC_SUCCESS' : ['/cgi-bin/sync/contact_sync_success', 'GET'],
23+
}
24+
25+
class ServiceProviderApi(AbstractApi) :
26+
def __init__(self, corpid, provider_secret) :
27+
self.corpid = corpid
28+
self.provider_secret = provider_secret
29+
30+
self.provider_access_token = None
31+
32+
def getProviderAccessToken(self) :
33+
if self.provider_access_token is None :
34+
self.refreshProviderAccessToken()
35+
return self.provider_access_token
36+
37+
def refreshProviderAccessToken(self) :
38+
response = self.httpCall(
39+
SERVICE_PROVIDER_API_TYPE['GET_PROVIDER_TOKEN'],
40+
{
41+
'corpid' : self.corpid,
42+
'provider_secret': self.provider_secret,
43+
})
44+
self.provider_access_token = response.get('provider_access_token')
45+

0 commit comments

Comments
 (0)