import requests
instance_url = 'https://yourCompanyName.my.site.com'
url = f"{instance_url}/services/oauth2/token"
payload = {
'grant_type': 'password',
'client_id': 'CLIENT_ID',
'client_secret': 'CLIENT_SECRET',
'username': 'YOUR_USERNAME',
'password': 'YOUR_PASSWORD',
}
response = requests.post(url, data=payload)
access_token = response.json().get('access_token')
使用 username/password 验证内部用户都是正常的,但是使用 community 用户(即 Experience Cloud 用户)则会出现错误:
{'error': 'unsupported_grant_type', 'error_description': 'grant type not supported'}
这不是因为salesforce哪里没有设置对,而是本身不支持,解决方法只有改用其它方法。