2012-12-06 137 views
2

我想在谷歌使用.NET SDK提供授權,但它失敗與「無效的憑據」錯誤。我發現這個答案谷歌驅動器簡單的API訪問授權失敗

Google Calendar V3 2 Legged authentication fails

,但我仍然沒有看到哪裏是錯誤的。看起來像所描述的一切都完成了。

這裏是我的代碼

const string CONSUMER_KEY = "mytestdomain.com"; 
const string CONSUMER_SECRET = "my_consumer_secret"; 
const string TARGET_USER = "user"; 
const string SERVICE_KEY = "some_api_key"; 

var auth = new OAuth2LeggedAuthenticator(CONSUMER_KEY, CONSUMER_SECRET, TARGET_USER, CONSUMER_KEY); 

var service = new DriveService(auth) { Key = SERVICE_KEY }; 
var results = service.Files.List().Fetch(); 

Console.WriteLine(results.Items.Count); 

,這裏是從谷歌的控制面板截圖。我剛剛更換了domain name,consumer keyapi key

截圖在從Manage API client accessScreenshot from "Manage API client access" page

截圖從Manage OAuth key and secret for this domainScreenshot from "Manage OAuth key and secret for this domain" page

截圖從API AccessGoogle API console Screenshot from "API Access" page in "Google API console"

+0

我假定你已經看過了這個問題://開發商:當然HTTPS的http://stackoverflow.com/questions/11556875/google-drive-api-using-google-apis-authentication?rq=1和。 google.com/drive/ –

+0

我不明白你的意思。第一個鏈接表示在哪裏下載DLL,第二個鏈接包含一些示例和文檔。我不問問下載它的位置,它已經下載,作爲參考添加到項目中,並且工作正常。我無法授權,因爲它給了我「無效憑證」錯誤。 – axe

+0

我問的原因是因爲谷歌雲端硬盤API是差那麼谷歌日曆API所做使用的提問題。點擊「允許訪問所有API」會發生什麼? –

回答

1

的OAuth 1.0已棄用,2-模式的OAuth 1.0與它。儘管如果我是你,它仍舊受到棄用期的支持,但我會將服務帳戶與OAuth 2.0一起使用,以執行域範圍的授權。

這在Google Drive SDK文檔的Perform Google Apps Domain-wide Delegation of Authority頁面上有詳細記錄。

+0

謝謝。服務帳戶起作用。 – axe