2 puan yazan kibua20 2020-07-12 | 2 yorum | WhatsApp'ta paylaş

Google API'lerini kullanmak için OAuth 2.0 ile kimlik doğrulaması almanın yöntemlerinden biri olan JWT (JSON Web Token) tabanlı Service Account kimlik doğrulama yöntemini ve Google Calendar API üzerinden kullanıcı hesabının calendar event'lerini alma yöntemini açıklar.

Service Account kullanmak için aşağıdaki 5 adımı izlemek gerekir.

  1. Google API console üzerinde Service Account oluşturma:

    • Service account oluşturulduğunda Client ID ve Private Key atanır.
  2. JWT (Json Web Token) oluşturma:

    • Header, Claim set ve signature, base64urlsafe değerleriyle encode edilir.

    • Python kullanılıyorsa PyJWT ile JWT string'i oluşturulabilir.

  3. Google kimlik doğrulama sunucusundan JWT kullanarak Token istenir.

  4. Google sunucusu yanıt olarak Access Token döndürür.

  5. Access token kullanılarak Google API çağrılır.

Google Calendar API'de dikkat edilmesi gereken nokta, kullanıcı hesabı ile service account'un ayrı hesaplar olmasıdır; bu yüzden kullanıcının Google Calendar'ında service account için paylaşım yetkisi eklenmelidir. Google Calendar API çağrıları curl komutu veya Python requests kullanılarak yapılabilir.

2 yorum

 
galadbran 2020-07-13

Hımm... bunu gerçek bir hizmete uygulamaya çalışıyorsanız, kullanıcının takvimi paylaşacağı bir UX oluşturmanız gerekecek gibi görünüyor; peki bu mümkün olur mu?

 
kibua20 2020-07-13

Kullanıcı hesabından takvimin paylaşılması gerektiği için, jwt yerine oautho2 client daha uygun görünüyor.

Bu, Gmail’in oautho2 ile uygulanmış bir örneğidir.

https://kibua20.tistory.com/m/70