Python 通过API请求的Salesforce OAuth令牌
我是salesforce API的新手。目前,我正在开发一个助手方法,它允许我们在salesforce沙箱中创建一个新用户。 目前我遇到的一个障碍是如何从salesforce获得身份验证令牌,以便我可以将其与其他请求一起传递 以下是迄今为止我掌握的代码[python]:Python 通过API请求的Salesforce OAuth令牌,python,salesforce,Python,Salesforce,我是salesforce API的新手。目前,我正在开发一个助手方法,它允许我们在salesforce沙箱中创建一个新用户。 目前我遇到的一个障碍是如何从salesforce获得身份验证令牌,以便我可以将其与其他请求一起传递 以下是迄今为止我掌握的代码[python]: def get_sf_auth_token(username, password): req_username = 'users_name_here' req_password = 'users_password_here' r
def get_sf_auth_token(username, password):
req_username = 'users_name_here'
req_password = 'users_password_here'
req_url = 'https://na3.salesforce.com/services/oauth2/token'
payload = {"client_id":"COMNSUMER_KEY",
"client_secret":"CONSUMER_SECRET",
"username": req_username,
"password": req_password
}
sf_token = requests.post(req_url, data=payload)
print(sf_token.status_code)
print(sf_token.text)
我缺少的两个值是CONSUMER\u KEY和CONSUMER\u SECRET。我不知道这些价值观从何而来
当我发送此请求时,我会收到以下信息:
400
{"error":"unsupported_grant_type","error_description":"grant type not supported"}
什么是补助金类型
总的来说,我只需要这方面的帮助,任何信息都非常感谢 您需要将
授权类型
添加到您的有效负载
。grant\u type
键的值应该是password
,因为您使用的是用户名和密码身份验证流
payload = {"client_id":"COMNSUMER_KEY",
"client_secret":"CONSUMER_SECRET",
"username": req_username,
"password": req_password,
"grant_type": "password"
}
您还需要确保将安全令牌附加到有效负载中密码的末尾。更多关于这方面的信息可以找到
要获取
客户端id
和客户端密码
,您需要在Salesforce UI中创建一个已连接的应用程序。可以找到此过程的步骤。您需要将授权类型添加到有效负载中。grant\u type
键的值应该是password
,因为您使用的是用户名和密码身份验证流
payload = {"client_id":"COMNSUMER_KEY",
"client_secret":"CONSUMER_SECRET",
"username": req_username,
"password": req_password,
"grant_type": "password"
}
您还需要确保将安全令牌附加到有效负载中密码的末尾。更多关于这方面的信息可以找到
要获取客户端id
和客户端密码
,您需要在Salesforce UI中创建一个已连接的应用程序。可以找到此过程的步骤。我建议使用简单的Salesforce python包,它不需要使用者密钥。您只需使用您的电子邮件地址、密码和安全令牌
from simple_salesforce import SFType
from simple_salesforce import Salesforce
sf = Salesforce(username='my_Salesforce_Email@mail.com', password='my_SF_password', security_token='my_Generated_token_from_Salesforce', client_id='This does not really matter')
然后创建一个类似于:
sf.Contact.create({'FirstName' : First, 'LastName' : Last, 'Newsletter__c' : Newsletter, 'Email' : Email1, 'Phone' : Phone, 'MailingStreet' : Street+" "+Apt, 'MailingCity' : City, 'MailingPostalCode' : Postal, 'AccountId' : "001U000001ZEB89"})
我建议使用简单的Salesforce python包,它不需要使用者密钥。您只需使用您的电子邮件地址、密码和安全令牌
from simple_salesforce import SFType
from simple_salesforce import Salesforce
sf = Salesforce(username='my_Salesforce_Email@mail.com', password='my_SF_password', security_token='my_Generated_token_from_Salesforce', client_id='This does not really matter')
然后创建一个类似于:
sf.Contact.create({'FirstName' : First, 'LastName' : Last, 'Newsletter__c' : Newsletter, 'Email' : Email1, 'Phone' : Phone, 'MailingStreet' : Street+" "+Apt, 'MailingCity' : City, 'MailingPostalCode' : Postal, 'AccountId' : "001U000001ZEB89"})
非常感谢,我会看一看。如果你发现这个答案对你有帮助@Lombax,别忘了接受它!非常感谢,我会看一看。如果你发现这个答案对你有帮助@Lombax,别忘了接受它!