python中使用POST方法的Talkdesk API

2024-10-02 08:24:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试进入talkdesk报告API。 不管凭证是否正确,它都会给我401。 我遵循这份文件: https://docs.talkdesk.com/docs/client-credentials 我有以下证件:

id='XXXXXXX'
secret='XXXXXXX'
public_key='XXXXXXX'
algorithm='XXXXXXX'
private_key='XXXXXXX'
key_id ='XXXXXXX'
import requests
     
consumer_key = key_id
consumer_secret = secret
username = "XXXX"
password = "XXXXX"

payload = {
    'grant_type': 'password',
    'client_id': consumer_key,
    'client_secret': consumer_secret,
    'username': username,
    'password': password,
    'scope':'reports:read'
}
 
r = requests.post("https://xxx.talkdeskid.com/oauth/token",  headers={"Content-Type":"application/x-www-form-urlencoded"},    data=payload)
 
print(r.content)

Tags: keyhttpscomclientiddocssecretconsumer
1条回答
网友
1楼 · 发布于 2024-10-02 08:24:06

不确定password是否是grant_类型参数的选项。documentation只提到client_credentials作为一个选项

代码如下:

import requests
import base64

signed_request = base64.b64encode(b'<client_id>:<client_secret>').decode()

payload = {
    'grant_type': 'client_credentials',
    'client_id': 'xxxx',
    'client_secret': 'xxxx',
    'username': 'xxxx',
    'password': 'xxxx',
    'scope':'reports:read'
}

response = requests.post("https://xxx.talkdeskid.com/oauth/token", headers={"Authorization": "Basic {}".format(signed_request), "Content-Type":"application/x-www-form-urlencoded"}, data=payload)

print(response.content)

相关问题 更多 >

    热门问题