0

SuiteScript 服务能否从 NetSuite 数据库中获取信息并将其作为 JSON 返回给未登录网站/NetSuite 的用户?

例如; 如果用户访问http://website.com/sca-dev-montblanc/services/upcomingCourses.Service.ss,则该服务应从 NetSuite 数据库中获取即将开设的课程列表并将其以 JSON 格式发回。

我已经实现了一个带有 1 个 SuiteScript 服务文件的 SCA 模块,但是当用户没有登录时,我得到了响应:

{"errorStatusCode":"403","errorCode":"ERR_INSUFFICIENT_PERMISSIONS","errorMessage":"权限不足"}

我已经确定问题是由nlapiLoadRecord('customrecord_course', 1);我的服务中的线路引起的。当我对此发表评论并发送回虚拟 JSON 时,一切正常。所以看起来像一个数据库访问权限问题。无论如何,是否允许在没有用户登录的情况下访问此信息?也许我可以更改表权限?或者如果我将服务作为另一个应用程序的一部分?任何建议都会非常有帮助。

    /*exported service*/
function service (request)
{
    'use strict';

    var Application = require('Application');

    try
    {
        var method = request.getMethod();


        switch (method)
        {
            case 'GET':

                // Below line of code causes error 
                var firstCource = nlapiLoadRecord('customrecord_course', 1);

                var coursesTest = [
                    {
                        course_id: record.getFieldValue('id'),
                        course_name: record.getFieldValue('name')
                    }
                ];

                Application.sendContent(coursesTest);
            break;

            default:
                Application.sendError(methodNotAllowedError);
        }

    }
    catch (e)
    {
        Application.sendError(e);
    }
}
4

1 回答 1

3

是的。

在您的脚本部署中,将脚本标记为无需登录即可使用,并为受众选择所有角色。

在这种情况下,您通常会使用外部 url 来访问套件。

于 2017-02-21T22:20:10.233 回答