Salesforce Community 用户 OAuth 只能通过 web server 或 user-agent flows,而不能通过 username/password

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哪里没有设置对,而是本身不支持,解决方法只有改用其它方法。

你可能感兴趣的:(Salesforce,salesforce)