我们的一位客户给了我们这个api: https://xxxxx.my.salesforce.com/services/apexrest/fetchProjectDetails
与此同时,我从客户端得到以下内容 用户名,密码,安全令牌,消费者密钥和消费者秘密。
使用https://apitester.com/时出现CORS错误,但是我不确定这是否是问题,因为我正在发送POST请求。
我没有使用Salesforce API的经验,也无法使用API。
任何帮助将我指向正确方向的方法,我们将不胜感激。
谢谢。
答案 0 :(得分:0)
您需要2次API调用,其中1次登录
然后您可以运行实际的API调用。
这应该如何运行?作为后台系统集成(每次都有专用的SF用户,并且您需要存储凭据),或者您将向人们显示SF登录页面,他们将自己的凭据放入(您的应用程序看不到它们,只会看到最终会话) ID)。为工作选择正确的OAuth2流...
如果是系统集成,Unsupported Grant Type Salesforce OAUTH2可以帮助您开始。
理想情况下,它将具有更多的魔力(计划您的代码以重用会话ID,请不要每次都登录;如果会话过期正常失败,请发出新的登录调用。如果该登录因密码过期而终止,例如-通知SF团队...如果您使实际的处理代码与登录方法无关,则可以加分,因此希望最终可以使人们使用自己的SF凭据登录...)
获得会话ID后,您可以调用服务(理想情况下,它应为响应instance_url
中的/services/apexrest/fetchProjectDetails
。您只需将会话ID作为HTTP Authorization
标头传递,值= Bearer sessionidgoeshere
。
此服务是您的客户定制的,因此我们在没有看到源代码的情况下无法为您提供更多帮助。这将是什么HTTP操作(GET,POST ...),什么参数-请与您的客户端联系。这种自定进度的培训可能会给您一些想法:https://trailhead.salesforce.com/en/content/learn/modules/apex_integration_services/apex_integration_webservices