コードは次のとおりです
static void Main(string[] args) { // Register the authenticator. The Client ID and secret have to be copied from the API Access // tab on the Google APIs Console. var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description); provider.ClientIdentifier = "272908629865.apps.googleusercontent.com"; provider.ClientSecret = "4UmdiNDILOV5bv-qRQz2XUwA"; var auth = new OAuth2Authenticator<NativeApplicationClient>(provider, GetAuthentication); // Create the service and register the previously created OAuth2 Authenticator. var service = new TasksService(auth); TaskLists results = service.Tasklists.List().Fetch(); foreach (TaskList list in results.Items) { Console.WriteLine(list.Title); } } private static IAuthorizationState GetAuthentication(NativeApplicationClient arg) { // Get the auth URL: IAuthorizationState state = new AuthorizationState(new[] { TasksService.Scopes.Tasks.ToString() }); state.Callback = new Uri(NativeApplicationClient.OutOfBandCallbackUrl); Uri authUri = arg.RequestUserAuthorization(state); // Request authorization from the user (by opening a browser window): Process.Start(authUri.ToString()); Console.Write(" Authorization Code: "); string authCode = Console.ReadLine(); Console.WriteLine(); // Retrieve the access token by using the authorization code: return arg.ProcessUserAuthorization(authCode, state); }
Process.Start(authUri.ToString());を実行すると、ブラウザでの結果は次のようになります:
OAuth2.0エラー:invalid_scope
このアプリケーションの開発者:jipen...@gmail.com
要求されたスコープの一部が無効でした。