URI pengalihan dalam permintaan: http://localhost:12349/authorize/ tidak cocok dengan URI pengalihan terdaftar

Saya mendapatkan kesalahan ini saat mencoba menjalankan aplikasi konsol c# saya... Saya mencoba memanggil google calender api v3 untuk mengambil kalender dan menambahkan acara ke kalender. Menurut contoh kode dari google-api-dotnet-client saya melakukan ini.( https://code.google.com/p/google-api-dotnet-client/source/browse/Calendar.VB.ConsoleApp/Program.vb?repo=samples ) Berikut adalah kode vb.net. Saya menggunakan sampel ini setelah mengonversinya menjadi kode c#.

Ini kode saya:

class Program
{
    static void Main(string[] args)
    {
        try
        {
            new Program().Run().Wait();
        }
        catch (AggregateException ex)
        {
            foreach (var e in ex.InnerExceptions)
            {
                Console.WriteLine("ERROR: " + e.Message);
            }
        }
    }

    private async Task Run()
    {
        UserCredential credential;
        IList<string> scopes = new List<string>();

        CalendarService service;
        scopes.Add(CalendarService.Scope.Calendar);


        using (var stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
        {
            // problem occuring during executing this statement.
            credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(stream).Secrets,
                scopes,
                "user", CancellationToken.None, new FileDataStore("Calender.SampleApp") );
        }

        BaseClientService.Initializer initializer = new BaseClientService.Initializer();
        initializer.HttpClientInitializer = credential;
        initializer.ApplicationName = "C# Calendar Sample";

        service = new CalendarService(initializer);

        Event newEvent = new Event();

        newEvent.Summary = "Appointment";
        newEvent.Description = "Need to meet my Uncle";

        IList<EventReminder> reminders = new List<EventReminder>();
        reminders.Add(new EventReminder { Method = "sms", Minutes = 10 });
        newEvent.Reminders = new Event.RemindersData { UseDefault = false, Overrides = reminders };

        newEvent.Recurrence = new String[] { "DTSTART;TZID=Bangladesh Standard Time:20140124T163000;RRULE:FREQ=DAILY" };

        IList<EventAttendee> attendees = new List<EventAttendee>();
        attendees.Add(new EventAttendee { Email = "[email protected]", Organizer = true, DisplayName = "Hannan" });
        newEvent.Attendees = attendees;

        newEvent.GuestsCanInviteOthers = false;
        newEvent.GuestsCanModify = false;
        newEvent.GuestsCanSeeOtherGuests = false;
        newEvent.Location = "Dhaka, Bangladesh";
        newEvent.Start = new EventDateTime { DateTime = DateTime.Now, TimeZone = "Bangladesh Standard Time" };

        Event recurringEvent = service.Events.Insert(newEvent, "primary").Execute();

        var list = await service.CalendarList.List().ExecuteAsync();
    }
}

Ini adalah URI pengalihan saya di proyek Konsol GoogleDevelopers saya.

Redirect URIs: http://localhost:7744/authorize/

Dan ini adalah pesan kesalahan yang ditampilkan di browser.

masukkan deskripsi gambar di sini

Saya tidak dapat menemukan cara untuk mengatasi masalah ini. Beberapa bantuan akan sangat berarti. Saya juga mencari semua posting terkait di stackoverflow. Tapi saya tidak dapat menemukan solusinya.


person Hannan Hossain    schedule 24.01.2014    source sumber
comment
Nomor port tidak cocok, dan nomor port merupakan bagian penting dari identitas uri HTTP.   -  person Damien_The_Unbeliever    schedule 24.01.2014
comment
@Damien_The_Unbeliever Saya tahu. Tapi saya tidak mendefinisikan uri pengalihan apa pun di aplikasi konsol saya. Bagaimana mendefinisikannya.   -  person Hannan Hossain    schedule 24.01.2014
comment
@Damien_The_Unbeliever bagaimana saya bisa mendefinisikan pengalihan uri dari aplikasi konsol selama pencocokan kredensial???   -  person Hannan Hossain    schedule 27.01.2014
comment
Anda tidak perlu menentukan uri pengalihan di aplikasi konsol saat mengautentikasi. Silakan lihat jawaban saya. Saya pikir ini akan menyelesaikan masalah Anda.   -  person SKD    schedule 27.01.2014


Jawaban (2)


Saya rasa Anda melakukan kesalahan saat "membuat id klien" di Konsol GoogleDevelopers. Pastikan Anda telah memilih "Aplikasi terinstal" pada jenis aplikasi untuk mengakses proyek Anda dari aplikasi konsol.

Lihat pada gambar terlampir. Menurut jenis permintaan, Anda harus membuat clientid dan kredensial pada aplikasi terdaftar Anda di Google Developers Console.

Anda tidak perlu menentukan uri pengalihan di aplikasi konsol saat mengautentikasi.

masukkan deskripsi gambar di sini

person SKD    schedule 27.01.2014
comment
Jika Anda menggunakan aplikasi konsol, pilih Lainnya untuk membuat id klien - person Brijesh Bhagavath; 22.10.2017

Saya mengalami kesalahan ini pada program pengujian sederhana (https://ctrlq.org/google.apps.script/docs/guides/rest/quickstart/dotnet.html), dan kebetulan client_secret.json salah, unduh lagi dan berhasil .

person Chesare    schedule 08.06.2018