2016-02-04 160 views
0

我試着谷歌驅動器API做基本上傳/下載/列表文件。但我不確定如何獲得認證。谷歌驅動器OAuth給出錯誤:redirect_uri_mismatch在瀏覽器上

UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets{ClientId = clientId, ClientSecret = clientSecret},                         
                           , scopes 
                           , userName 
                           , CancellationToken.None 
                           , new FileDataStore("Drive.Auth.Store")).Result; 

我見過各種SO職位,我已經嘗試添加和JavaScript的起源,並在谷歌開發者控制檯重定向URI作爲http://localhosthttp://localhost/google_oauth2/callback。或者說,該網址應該是我的驅動器網址?

我有點與重定向uri混淆。 AFAIU,這個oauth代碼將幫助我訪問我的谷歌驅動器,因爲我的電子郵件ID是在此應用程序的開發控制檯中註冊的,並且會生成祕密。所以我沒有服務器,只是我的本地主機。

對不起,如果這個問題很愚蠢,但我仍然在學習認證機制。如果有人能改正我的話,會有很大的幫助。

回答

0

Google documentation中可以看出,對於您的應用程序發送到Drive API的每個請求,都必須包含授權令牌。令牌還可以識別您的應用程序到Google。您可以在此link中找到授權過程的詳細信息。

這是一個sample code來管理授權。

UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
         GoogleClientSecrets.Load(stream).Secrets, 
         Scopes, 
         "user", 
         CancellationToken.None, 
         new FileDataStore(credPath, true)).Result; 
        Console.WriteLine("Credential file saved to: " + credPath); 
       } 

您還需要指定應用程序的打開URL以及用戶如何使用應用程序創建和打開文件的首選項。還有要記住的網址打開兩個重要的事情:

  • 確保您打開URL給出一個完全合格的域名,localhost不起作用。
  • 該URL必須屬於您。 app registration完成後,您將需要此網址的verify your ownership才能創建Chrome網上應用店列表。

關於重定向URI,它是應用程序的回調入口點。請求中指定的重定向URI決定授權代碼如何返回給您的應用程序。例如,在最終用戶接受權限後,必須調用「重定向URI」才能返回應用程序。此外,重定向URI應該與應用程序的初始入口點不同。您可以閱讀文檔here

+0

感謝您的回覆。當你說完全合格時,ipaddress會工作嗎?或者我必須創建一個HTML頁面並將其用作重定向地址?另外,我選擇的是Web應用程序,而不是控制檯上安裝的應用程序。我能夠運行一個控制檯應用程序。 – Atihska

相關問題