【问题标题】:The requested resource no longer exists with rest PHP请求的资源不再存在于 REST PHP 中
【发布时间】:2022-11-19 11:51:39
【问题描述】:

我正在使用以下 Rest API 领导销售团队

Creating Leads in SalesForce using REST API in PHP

它在 6 个多月的时间里都运行良好,但几天前它开始给出以下错误消息,并且未在 Salesforce 中添加潜在客户。

我搜索了很多但没有找到解决方案。此错误的原因可能是什么:

[{"message":"请求的资源不再存在。","errorCode":"GONE"}]

错误代码:410

【问题讨论】:

  • 您能否编辑添加相关代码的问题?你打电话给哪个端点?
  • 我认为您使用的 API 版本已被弃用并删除,请尝试将代码更新为当前的 API 版本。

标签: salesforce


【解决方案1】:

(不是真正的答案,但评论时间太长)

询问您的 Salesforce 管理员/检查设置审计跟踪和设置 -> 手动发布更新。检查最近是否启用了“稳定域名”之类的功能。或者在设置 -> 我的域中,也许有人单击了“阻止来自 test.salesforce.com、login.salesforce.com 的登录”。另一件有趣的事情 - 组织实例是否已迁移或登录 IP 范围开始对某些配置文件强制执行?任何机会集成用户的密码过期?

如果您尝试在 Postman、soapui 或您使用的任何 http 客户端中手动完成“仪式”,您会得到什么?您的初始登录呼叫去了哪里,是通用的 test.salesforce.com 还是特定于组织的?我的公司--mysandbox.my.salesforce.com?一旦您成功登录 - 您是否将这两条信息用于后续呼叫?您不仅应该使用访问令牌(会话 I'd),还应该使用它返回的实例 URL。不要在你的应用程序中硬核基本 URL,从登录结果中读取它。

发布一些(伪)代码或原始 http 内容,匿名?

【讨论】:

    【解决方案2】:

    如果相同的请求在某一时刻有效但不再有效,则问题很可能是由于 api 或您尝试检索的对象发生了变化。

    您可以使用此 curl 请求来确保您使用的是可用的 API 版本,只需确保将 MyDomainName 更改为您组织的子域。

    curl https://MyDomainName.my.salesforce.com/services/data/ -H "Authorization: Bearer token".```
    

    如果 API 版本可用,请使用以下 curl 请求检查您要查找的对象。同样,MyDomainName 应与您组织的子域相匹配,版本应与您尝试使用的版本相匹配,这次您需要进行身份验证。

    curl https://MyDomainName.my.salesforce.com/services/data/v56.0/sobjects/ -H "Authorization: Bearer token"
    

    如果您尝试写入的对象不在返回的对象列表中,请检查 Salesforce UI 中的设置以确保它存在并且您的 api 令牌可以访问它。

    资源:

    https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_versions.htm

    https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_describeGlobal.htm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      • 2017-07-09
      • 2014-05-25
      相关资源
      最近更新 更多