2015-11-03 133 views
1

我試圖使用OneDrive API對用戶進行身份驗證。用戶認證成功完成。但是,我也想在用戶通過身份驗證後獲取用戶電子郵件或名稱。下面是我當前的代碼OneDrive身份驗證後獲取用戶詳細信息

ODClient.setMicrosoftAccountAppId(ODAppKey, scopes: ["wl.signin", "wl.offline_access", "onedrive.readonly", "onedrive.readwrite", "onedrive.appfolder"]) 

ODClient.clientWithCompletion({ (client, error) -> Void in 
    if(error == nil){ 
     odClient = client 
    } 
}) 

我怎樣才能登錄用戶細節一旦用戶通過驗證。請幫助

在此先感謝

回答

0

我解決它:

ODClient.clientWithCompletion({ (client, error) -> Void in 
    if(error == nil){ 
     odClient = client 
     self.getUserDetails() 
    } 
}) 

func getUserDetails(){ 
    odClient.drive().request().getWithCompletion { (drive, error) -> Void in 
     if(error == nil){ 
      print("User name : \(drive.owner.user.displayName)") 
     } 
    } 
} 

注意:使用OneDrive如果它被設置爲一個賬戶,我們只能得到顯示名稱。

由於@ginach

0

當你retrieve a drive返回,其中包括顯示名稱,但電子郵件沒有目前OneDrive API所支持的所有者對象。 This issue跟蹤添加該支持。

+0

所以,我應該做GET驅動請求調用驗證完成後,?或者還有其他方法。 –

+0

是的,如果你在認證用戶後進行了get/drive,它會給你名字,並最終(希望)給你的電子郵件。 – ginach

相關問題