我們正試圖使用Microsoft Graph rest API實現Web應用程序和SharePoint Online之間的集成。使用Microsoft Graph將文件上傳到SharePoint驅動器
具體而言,我們需要將文件上載到特定SharePoint網站的文檔庫(驅動器),這與當前的用戶默認驅動器不同。我們通過Azure AD獲取訪問令牌,並可訪問所有文件。
我們可以使用/v1.0/me/drive/...
將文件上傳到任何驅動器,但不能在我們使用其他驅動器時使用。
例如:
var response = client.PutAsync(graphResourceUrl +
"/beta/sharepoint/sites/" + siteCollSiteId +
"/lists/" + listId +
"/drive/root/children/" + fileName + ":/content",
new ByteArrayContent(fileBytes)).Result;
var response = client.PutAsync(graphResourceUrl +
"/beta/drives/" + "/" + listId +
"/items/" + siteCollSiteId + "/" + fileName + ":/content",
new ByteArrayContent(fileBytes)).Result;
var response = client.PutAsync(graphResourceUrl +
"/beta/drives/" + listId + "/" + fileName + ":/content",
new ByteArrayContent(fileBytes)).Result;
兩個/v1.0
和/beta
(在含有路徑的SharePoint的情況下)我們得到的Not Implemented
錯誤響應。
我們可能會做錯什麼?它是否尚未與Microsoft Graph(/me
除外)一起工作?
WHI ch auth作用域是否請求?您需要有'Sites.ReadWrite.All'才能訪問用戶默認驅動器之外的文檔庫。 –
Thanks @ ryan-gregg,是的,我們在Azure AD應用程序中使用Graph的權限,其顯示爲「在所有網站集(預覽)中讀寫文件」。最好的問候,丹佛。 – danfer