Javascript 当我的应用程序包含查询字符串时,如何使用OneDrive Web选择器

Javascript 当我的应用程序包含查询字符串时,如何使用OneDrive Web选择器,javascript,onedrive,Javascript,Onedrive,我们正在使用grails开发我们的工作门户应用程序。一旦用户申请任何特定工作并从onedrive上传文档,我们需要从onedrive下载文档。从需要加载onedrive的位置开始,每个作业的URL都会不同(“应用”是一个操作)。我将js代码放在外部脚本文件中,并将其作为“”包含在apply.gsp和onedrive配置中的重定向URL中。一旦我点击Ondrive选项,它就会在一个新窗口中打开登录页面,我可以选择文件。一旦我点击“打开”按钮,请求就会点击控制器中的“应用”操作,并在新窗口中获取异常

我们正在使用grails开发我们的工作门户应用程序。一旦用户申请任何特定工作并从onedrive上传文档,我们需要从onedrive下载文档。从需要加载onedrive的位置开始,每个作业的URL都会不同(“应用”是一个操作)。我将js代码放在外部脚本文件中,并将其作为“”包含在apply.gsp和onedrive配置中的重定向URL中。一旦我点击Ondrive选项,它就会在一个新窗口中打开登录页面,我可以选择文件。一旦我点击“打开”按钮,请求就会点击控制器中的“应用”操作,并在新窗口中获取异常(由于jobid缺少新请求而获取异常)。我们无法获得下载url,因为响应不会返回到同一页面。我们正在使用OneDrive v5 SDK

请帮助我如何修复此问题,以便关闭新窗口并获取所选文档下载url

js文件 函数launchOneDrivePicker(){


感谢您查看文档页面中的“使用自定义重定向URI”部分:


意译:

创建仅包含OneDrive脚本的新单独页面:

<html>
<script type="text/javascript" src="https://js.live.net/v7.0/OneDrive.js">
</script>
</html>

在请求的高级部分引用新页面作为重定向URL

var odOptions = {
  clientId: "INSERT-APP-ID-HERE",
  action: "download",
  openInNewWindow: true,
  advanced: {
    redirectUri: "https://contoso.com/filePickerRedirect.htm" <-- new separate page
  },
  success: function(files) { /* success handler */ },
  cancel: function() { /* cancel handler */ },
  error: function(e) { /* error handler */ }
}
var-odOptions={
clientId:“插入-APP-ID-HERE”,
行动:“下载”,
openInNewWindow:没错,
高级:{
重定向URI:“https://contoso.com/filePickerRedirect.htm"
var odOptions = {
  clientId: "INSERT-APP-ID-HERE",
  action: "download",
  openInNewWindow: true,
  advanced: {
    redirectUri: "https://contoso.com/filePickerRedirect.htm" <-- new separate page
  },
  success: function(files) { /* success handler */ },
  cancel: function() { /* cancel handler */ },
  error: function(e) { /* error handler */ }
}