Microsoft graph api 可以在OneDrive Web UI中创建URL文件,但无法通过图形API正确创建

Microsoft graph api 可以在OneDrive Web UI中创建URL文件,但无法通过图形API正确创建,microsoft-graph-api,azure-ad-graph-api,Microsoft Graph Api,Azure Ad Graph Api,我可以通过O365 OneDrive web UI轻松创建URL文件。右键单击>新建>链接。输入URL并保存。新项目出现在UI中,单击时,它将直接带您到新的URL,比如www.google.com 我正试图用Graph API复制这一点 GET /me/drive/items/{folderId}/children with: { name:'www.google.com.url', file:{} } 它会在OneDrive UI中创建一个链接,但单击时,它不会将您带到URL,它会尝试

我可以通过O365 OneDrive web UI轻松创建URL文件。右键单击>新建>链接。输入URL并保存。新项目出现在UI中,单击时,它将直接带您到新的URL,比如www.google.com

我正试图用Graph API复制这一点

GET /me/drive/items/{folderId}/children
with: 
{ name:'www.google.com.url',
  file:{}
}

它会在OneDrive UI中创建一个链接,但单击时,它不会将您带到URL,它会尝试下载一个文件。我尝试过创建它,有.url后缀也有.url后缀。API看起来非常有限,而且没有太多的选项可以通过。我也尝试过beta API,同样的问题。

链接实际上是一个具有类似于INI文件的特殊语法的文件。从这里包含的示例来看,您似乎正在创建一个名为www.google.com.url的0字节的空文件。由于空文件与.URL文件的预期格式不匹配,OneDrive不知道如何处理它,只下载该文件

要以编程方式创建链接,您需要发出如下请求:

PUT https://graph.microsoft.com/v1.0/me/drive/root/children/ShortcutToBing.url/content
Content-Type: text/plain

[InternetShortcut]
URL=https://www.bing.com

这将创建一个名为ShortcutToBing.url的文件,并用请求下面的文本填充该文件的内容,即.url文件的内容,指向www.bing.com。

嘿,谢谢你的回答,它成功了!我真的很喜欢Graph API,它工作得很好,但是如果像这样的小东西被记录在某处,那就太好了。也许是,但不容易找到。无论如何,再次感谢!!在这种情况下,API不像SharePoint那样对链接有任何特殊的概念。.URL文件的格式很久以前就定义好了,SharePoint只是在它们的工作方式上添加了一些特殊的行为。由于文件格式定义良好,您可以上传与我提供的API cal所使用的格式相匹配的文件。围绕链接的概念添加更丰富的支持似乎很有意思,但更直接地实现了这一点。