簡體   English   中英

Microsoft onedrive:使用API​​密鑰創建文件夾而無需登錄

[英]Microsoft onedrive: Create folder using API key without login

我可以使用Graph API在onedrive中創建文件夾和文件。 但是,第一次我必須登錄到Microsoft帳戶。 以下是我需要登錄的鏈接:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id={client_id}&redirect_uri={redirect_uri}&response_mode=form_post&response_type=code+id_token&scope={scope}&state={state}&nonce={nonce}&x-client-SKU={x-client-SKU}&x-client-ver={x-client-ver}

我希望實現所有這些服務器端。 不登錄Microsoft帳戶怎么辦? 如果可以使用一些控制台代碼,那么我認為可以做到。

我執行了以下步驟來創建控制台應用程序,以在OneDrive中創建文件夾:

1.創建Microsoft應用:

  1. 登錄到https://apps.dev.microsoft.com/
  2. 創建一個新的應用程序
  3. 輸入一些應用名稱
  4. 在“應用程序秘密”部分生成新密碼
  5. 在“平台”部分中添加平台。
  6. 添加了一個Web平台
  7. 提供一些重定向網址。 這將是必需的,您也可以輸入任何localhost URL。 我輸入了http:// localhost:100 /
  8. 在Microsoft Graph Permissions部分中添加以下委托權限
  9. Files.ReadWriteAll,Directory.ReadWriteAll,offline_access(脫機訪問是非常重要的權限,沒有此權限,您將無法自動生成訪問令牌)
  10. 確保在“高級選項”中選中“ LiveSDKSupport”復選框。

2.生成訪問令牌的CODE值

  1. 使用您的應用程序ID更新以下網址(步驟1.b)並重定向網址(步驟1.g)。
  2. https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id= {client_id}&scope = User.Read User.ReadWrite User.ReadBasic.All Mail.Send Calendars.ReadWrite Mail.ReadWrite Files.ReadWrite offline_access&response_type = code&redirect_uri = {redirect_url}
  3. 將網址粘貼到瀏覽器地址欄中,並進行獲取請求(按回車鍵)
  4. 登錄到您的一個驅動器帳戶
  5. 接受用戶協議
  6. 代碼重定向URL並從重定向URL獲取代碼查詢字符串

3.生成訪問令牌並從代碼值刷新令牌

  1. 開放郵遞員
  2. 使用以下設置進行發布請求:端點: https : //login.microsoftonline.com/common/oauth2/v2.0/token
    • 標頭>內容類型:application / x-www-form-urlencoded
    • 身體>
    • client_id:步驟1中的客戶/應用ID
    • redirect_uri:您從步驟1開始的重定向網址
    • client_secret:您的客戶端密碼(在步驟1中生成的應用密碼)
    • 代碼:在步驟2中生成的代碼
    • grant_type:授權碼
  3. 這將返回帶有一些值的json。 從響應中復制access_token和refresh_token。 訪問令牌可用於在一個驅動器中創建文件夾。 但是,這將在一段時間后生效。 要獲取新令牌,我們將需要使用刷新令牌生成新令牌。 因此,將刷新令牌與客戶端ID客戶端密鑰和重定向URL一起存儲在配置文件中。

4.從代碼生成訪問令牌:

  1. 這可以通過Postman以及使用帶有以下參數的簡單post請求從代碼中完成:
    • 端點: https : //login.microsoftonline.com/common/oauth2/v2.0/token
    • 方法:過帳
    • 內容類型:application / x-www-form-urlencoded
    • 數據:“ client_id = {client_id}&redirect_uri = {redirect_url}&client_secret = {client_secret}&grant_type = refresh_token&refresh_token = {refresh_token}”
  2. 這將返回訪問令牌作為響應。 使用該訪問令牌在一個驅動器中創建文件夾。

5.在OneDrive中創建文件夾:

  1. 發出發布請求以創建文件夾:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM