2017-06-13 39 views
0

我可以通過O365 OneDrive Web UI輕鬆創建URL文件。右鍵單擊>新建>鏈接。輸入網址並保存。新項目出現在用戶界面中,點擊後,它會直接轉到新的URL,假設它是www.google.com。可以在OneDrive Web UI中創建URL文件,但通過圖形API無法正確創建

我試圖用Graph API複製它。

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

它創造了什麼似乎是在OneDrive UI中的鏈接,但點擊時,它不會帶你到URL,它會嘗試下載文件。我試着用和不用.url後綴創建它。該API看起來相當有限,並沒有太多的選項可以通過。我也嘗試過測試版API,同樣的問題。

回答

1

鏈接實際上是一個具有類似於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。

+0

嘿,感謝您的答案,它的工作!我非常喜歡Graph API,它運行良好,但如果像這樣的小事情被記錄在某個地方,它會很好。也許他們是但不容易找到。無論如何,再次感謝! – Bryan

+0

在這種情況下,API不像SharePoint那樣有「鏈接」的特殊概念。 .URL文件的格式很久以前就已定義,SharePoint僅就其工作方式添加了一些特殊行爲。由於文件格式已經定義好,你可以上傳一個與格式相匹配的文件(這就是我提供的API卡片所做的)。儘管爲了更直接地實現這一點,但圍繞「鏈接」的概念添加更豐富的支持看起來很有趣。 –