java - Service Now 日内瓦 Rest API Java 代码 将文件附加到事件

标签 java rest attachment servicenow

您能否帮忙提供一些示例 Java 代码,以使用 ServiceNow 日内瓦的 REST API 执行文件(多种内容类型,如 csv、jpg、xls、xlsx)附件?

预先感谢您的帮助。

最佳答案

我在 ContentPage 中创建了以下 html 代码,以在 ServiceNow 日内瓦版本中上传文件。我测试了它,它对于 TXT、DOCX、PDF、JPEG、GIF、图标等效果很好。这也可以在 UI 页面中使用。出于安全原因,我建议您进行一些修改。

  1. 从 UI 脚本/内容中删除 new XMLHttpRequest() 代码块 页面并在脚本包含中上传。
  2. 创建REST消息并从脚本包含进行调用,例如 该代码不会向最终用户公开。


    文件上传测试






        <script>
         function uploadFileTest()
         {
                  var obj=document.getElementById('fileUpload');
                  var file=obj.files[0];
                  var fileName=obj.files[0].name;
                  var encodedFile='';
                //Encode file
                 var reader = new FileReader();
                reader.onload = function(readerEvt) 
                {
                    var binaryString = readerEvt.target.result;
                    encodedFile= btoa(binaryString);
                   var xhr = new XMLHttpRequest();
                    xhr.withCredentials = true;
                    xhr.addEventListener("readystatechange", function () 
                    {
                      if (this.readyState === 4) {
                        console.log(this.responseText);
                      }
                    });
    
                    // xhr.open("POST","https://XXXXX.service-now.com/api/now/table/ecc_queue");
                    xhr.open("POST","https://XXXXX.service-now.com/ecc_queue.do?JSONv2");
    var data='{"agent":"AttachmentCreator","topic":"AttachmentCreator","name":"'+fileName+'","source":"u_itinerary_attchements:"'+sysid+'","payload":"'+encodedFile+'"}';
                    xhr.setRequestHeader("authorization", "Basic anBhdmFuOmpwYXZhbg==");
                    xhr.setRequestHeader("Content-Type", "application/json");       
                    xhr.setRequestHeader("Accept", "application/json");
                    xhr.setRequestHeader("cache-control", "no-cache");
                    xhr.send(data);
                };
                reader.readAsBinaryString(file);
    
    
         }
    
    
    
        </script>
    
        <input type='text' id='response' />
        </form>
    </body> 
    </html> 
    

关于java - Service Now 日内瓦 Rest API Java 代码 将文件附加到事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38381023/

相关文章:

java - 在 Wicket 中接收 jQuery 正文更改

rest - 多线程的可能算法列出大型 S3 存储桶中的所有键?

javascript - 使用 REST API 将文件(从公共(public) URL)上传到 onedrive 时出错

php - 在上传文件之前用 phpmailer 发送文件?

重启机器后Java类路径不存在

java - 将应用程序从 websphere 迁移到 tomcat - 初始化程序错误

java - mongodb中的复杂查询

javascript - 将 botkit 连接到我的服务 restful api

android - 将图片附加到电子邮件

email - Jenkins 附件-语法是什么?