2016-11-20 5 views
1

私のアプリケーションのAPIキーを作成し、ここに示す例(https://developers.google.com/api-client-library/dotnet/get_started#simple)のように渡しました。私はを取得しています。Google.Apis.Requests.RequestError発信者に許可がありません。私は何が欠けていますか?C#Google.Apis.Requests.RequestError呼び出し元にアクセス許可がありません。

ソースコード

var service = new SheetsService(new BaseClientService.Initializer() 
{ 
    ApplicationName = "Application", 
    ApiKey = WebConfigurationManager.AppSettings["GoogleSheetsAPIKey"] 
}); 

// Define request parameters. 
string spreadsheetId = "[omitted]"; 
string range = "Sheet1"; 
SpreadsheetsResource.ValuesResource.GetRequest request = 
       service.Spreadsheets.Values.Get(spreadsheetId, range); 

ValueRange response = request.Execute(); 
IList<IList<Object>> values = response.Values; // bombs here 
if (values != null && values.Count > 0) 
{ 
    Console.WriteLine("Name, Major"); 
    foreach (var row in values) 
    { 
     // Print columns A and E, which correspond to indices 0 and 4. 
     Console.WriteLine("{0}, {1}", row[0], row[4]); 
    } 
} 
else 
{ 
    Console.WriteLine("No data found."); 
} 

マイAPIキーを作成している「制限なし」

答えて

2

される問題は、このスプレッドシートは、Googleアカウントの下にあったということでした。 Googleスプレッドシートを公開してshare>advanced>public on the webとすると、上記のコードが動作します。 (これは機密データではないので、このスプレッドシートは公開しています。

0

GoogleWebAuthorizationBrokerのメソッドで生成された "Google.Apis.Auth.OAuth2.Responses.TokenResponse-user"ファイルを削除することで問題は解決しました。 AuthorizeAsync(...)

関連する問題