繁体   English   中英

在 NetSuite 中为 MuleSoft API 生成授权令牌

[英]Generate Authorization token for MuleSoft API in NetSuite

我正在尝试从 NetSuite 用户事件脚本调用 Mulesoft API 端点。 我需要生成令牌以通过 API 调用发送它。 题:

  1. 我应该创建计划脚本来生成令牌并将其存储在某个地方吗?
  2. 应该多久刷新一次令牌?

Postman 令牌生成工作正常。 我很想知道我应该如何在 NetSuite 中设置它。

Postman: 在此处输入图像描述

提前道歉,因为我无法发表评论,低 Rep。

我没有使用过 Mulesoft 或 Oauth2,我主要使用 Oauth1。

根据您的意见,它会在 4 小时后到期。 我建议您将生成的访问令牌存储在脚本参数中。 NetSuite 脚本参数 您可以调用 task.create 来安排脚本每 4 小时刷新一次访问令牌,如本页引用脚本参数的注释中所述

编辑:必须确认一些关于脚本参数的事情。 根据一些文章,脚本参数是全局的,可以从不同的脚本调用(创建参数时必须设置为公司偏好)。 因此,计划脚本并将其存储到参数并让您的 UE 脚本获取该参数的值将起作用。

将此代码示例添加到@Nukedd的答案中。

这是在缓存中存储/获取访问令牌的示例。

const CACHE_NAME = 'MY_CACHE';
const ACCESS_TOKEN = 'MY_ACCESS_TOKEN';

const cache = require('N/cache');

// Storing access token to server cache
const storeAccesstoken = () => {
    var myCache = cache.getCache({
        name: CACHE_NAME,
        scope: cache.Scope.PRIVATE
    });
    myCache.put({
        key: ACCESS_TOKEN,
        value: '12345accesstoken',
        ttl: 14400
    });
}

// Fetching access token from server cache
const getAccessToken = () => {
    const myCache = cache.getCache({
        name: CACHE_NAME
    });
    const myAccessToken = zipCache.get({
        key: ACCESS_TOKEN,
        loader: loaderFunction
    });
    return myAccessToken;
}

请看以下内容:

注意:这仅受服务器脚本支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM