使用 RESTlet 访问 Netsuite 时登录尝试无效?

问题描述 投票:0回答:8

我正在尝试使用 RESTlet 从 Netsuite 获取数据。为此,我在 PHP 中使用以下详细信息:

  1. 消费者钥匙
  2. 消费者的秘密
  3. 脚本 ID
  4. 部署 ID
  5. 访问令牌 ID
  6. 访问令牌秘密

第一次使用这些详细信息时,我收到的错误是无效的登录尝试。 我找到了它为什么会来,因为以下任何一个或所有错误的细节。

  1. 消费者钥匙
  2. 消费者的秘密
  3. 访问令牌 ID
  4. 访问令牌秘密

提供正确的详细信息后,它工作正常,我将所有这些详细信息存储在数据库中。我没有改变任何东西。但几天后我遇到了同样的错误。

我想知道访问令牌是否会在几天后过期或者为什么会出现错误。

netsuite
8个回答
13
投票

我最近遇到了类似的问题,在我的机器上一切正常,但在测试服务器上失败并出现相同的异常。仔细调试发现生成请求访问令牌的时间戳相差12分钟。 同步时间后一切顺利。因此,即使 NetSuite 中的令牌定义不会过期,生成请求令牌的时间戳也必须位于 NetSuite 环境中时间的“某个”时间窗口中。

太糟糕了 SuiteAnswers (https://netsuite.custhelp.com/app/answers/detail/a_id/44241/kw/44241) 没有提及任何有关时间的内容。


11
投票

如果您尝试通过基于令牌的身份验证 (TBA) 访问 RESTlet 并收到

INVALID_LOGIN_ATTEMPT
错误,并且 登录审核详细信息
permission_denied
,则以下操作可能有效。

确保角色:

  • 不是管理员类型角色
  • 未勾选
    Web Services Only Role

还要仔细检查您的相关集成是否已选中

TOKEN-BASED AUTHENTICATION

注意:要检查您的审核跟踪详细信息,请转至

Setup > Users/Roles > View Login Audit Trail
,选中
USE ADVANCED SEARCH
,并确保将 Detail 添加为结果列。


10
投票

在我的例子中,我从 URL 中得到的

account id
是小写的,而它应该是大写的。


4
投票

我正在沙箱上进行测试,sb1 在 URL 上应该是 xxxxxx-SB1,领域应该是 xxxx_SB1


1
投票

最后我找到了我的案例中 403 错误的答案,我用我的标准 CST 时区更改了时间偏移,然后重新发布,它起作用了。 如果您发现此 403 错误并已尝试各种方法,请检查您机器上的时间


0
投票

如果您使用用户凭据进行 RESTlet 身份验证,请确保所使用的角色未选中仅 Web 服务角色。


0
投票

必须确保令牌(令牌 ID)与 Netsuite 端的正确应用程序匹配。

Setup -> Integration -> Manage Integrations


0
投票

天哪..就我而言应该是没有

权限:权限>设置中的访问令牌管理

对于那个角色

https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/bridgehead_4248124361.html#bridgehead_4249074259

访问令牌管理

拥有此权限的用户:

可以为帐户中的其他用户创建、分配和管理令牌(管理员角色的令牌除外)。管理员可以为自己创建令牌,但不能为其他管理员创建令牌。

无法创建供自己使用的访问令牌。例外:管理员可以创建自己使用的令牌。

无法使用访问令牌通过 RESTlet 或 Web 服务登录。

© www.soinside.com 2019 - 2024. All rights reserved.