gpt4 book ai didi

java - 如何在 Apex Restful 服务中首先获取 access_token 以从外部调用 GET/POST 方法?

转载 作者:行者123 更新时间:2023-12-02 13:21:42 25 4
gpt4 key购买 nike

我正在从链接进行 Salesforce Trailhead:https://trailhead.salesforce.com/modules/apex_integration_services/units/apex_integration_webservices

在本教程中,他们使用 access_token 调用 GET 请求。 但是他们没有指导我们如何获取 access_token,这是从外部调用 APEX Rest 的重要步骤。

enter image description here

我做了类似下面的事情,它告诉我错误:

https://ap5.salesforce.com/services/oauth2/token?client_id="3MVG9d8..z.hDcPJZPIzGJ5UZDuKCOqbH8CCGCPnmwQuRbwLZ_2f.thbqWMX82H7JRGx4
6VYyEkuwzQ9._ww5"&client_secret="1180508865211885204"&username="pXXXXXXXXXXXXXXX.com"&password="AgXXXXXXXX"&grant_type=password

enter image description here

最佳答案

我现在理解了这个概念,感谢分享其他链接。

client_id、client_secret、用户名、密码和 grant_type 应在 HTTP POST 正文中发送,而不是在 header 中发送。

HttpRequest req = new HttpRequest();
req.setMethod('POST');
req.setHeader('Content-Type','application/x-www-form-urlencoded');
req.setEndpoint('https://ap5.salesforce.com/services/oauth2/token');

String CLIENT_ID = 'XXXXXXXXXXXXXXXXXXXXXXXXX';
String CLIENT_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXX';
String USERNAME = 'XXXXXXXXXXXXXX';
String PASSWORD = 'XXXXXXXXXXXXXX';

req.setBody('grant_type=password' + '&client_id='+CLIENT_ID +
'&client_secret='+CLIENT_SECRET + '&username='+USERNAME + '&password='+PASSWORD);

Http http = new Http();
HTTPResponse response = http.send(req);
System.debug('Body ' + response.getBody());
System.debug('Status ' + response.getStatus());
System.debug('Status code ' + response.getStatusCode());

关于java - 如何在 Apex Restful 服务中首先获取 access_token 以从外部调用 GET/POST 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43549104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com