Google Health API'ye erişim Google Cloud üzerinden sağlanır. API'yi etkinleştirmek ve bir Google Hesabı'nı yetkilendirmek için Google Cloud projeniz olmalıdır.
İster mevcut bir Fitbit API geliştiricisi olun ister Google Health API'yi yeni kullanmaya başlayın, API'ye çağrı göndermek için bu adımı tamamlamanız gerekir.
Proje ve OAuth istemcisi oluşturma
Google Health API'yi etkinleştirmek ve OAuth 2.0 istemci kimliği almak için API'yi etkinleştirin ve OAuth 2.0 istemci kimliği alın düğmesini kullanın:
- Google Health API için kullanmak istediğiniz mevcut bir Google Cloud projeniz varsa önce bu projenin yönetici hesabına giriş yaptığınızdan emin olun. Ardından, düğmeyi tıkladıktan sonra mevcut projeyi kullanılabilir projeler listesinden seçin. Aksi takdirde yeni bir proje oluşturun.
- "Nereden arıyorsunuz?" sorulduğunda Web Sunucusu'nu seçin.
- Yetkili yönlendirme URI'leri için değer olarak https://www.google.com adresini girin. OAuth 2.0 kullanarak yetkilendirme kodu almak için yönlendirme URI'si gerekir.
- Kurulum tamamlandıktan sonra OAuth 2.0 istemci kimliği ve istemci gizli dizisi değerlerini kopyalayın ve kimlik bilgileri JSON'ını yerel makinenize indirin.
Google Cloud projenizi manuel olarak ayarlamak veya kurulumu doğrulamak ve kimlik bilgilerinizi tekrar almak istiyorsanız:
- API Enablement (API Etkinleştirme) sayfasında Google Health API'yi etkinleştirin.
- Kimlik Bilgileri sayfasında OAuth 2.0 istemci kimliği edinin.
Google Konsolu'nu kullanarak OAuth 2.0'ı ayarlama hakkında daha fazla bilgi için Google API'lerine Erişmek İçin OAuth 2.0'ı Kullanma başlıklı makaleyi inceleyin.
Test kullanıcıları ekleme
Yeni oluşturulan OAuth istemcileri varsayılan olarak doğrulanmamış durumdadır ve hem test hem de üretim amaçlı olarak 100 kullanıcıyla sınırlıdır. Bu süre zarfında yetkilendirmeyi etkinleştirmek için her kullanıcının e-posta adresini proje yapılandırmanızdaki Test kullanıcıları listesine manuel olarak eklemeniz gerekir.
Kitle sayfasındaki test kullanıcıları listesini güncelleyin:
- Bu sayfada, "Yayınlama durumu"nun Test, "Kullanıcı türü"nün ise Harici olarak ayarlandığını görmeniz gerekir.
- "Test kullanıcıları" bölümünde + Kullanıcı ekle'yi tıklayın. Uygulamanızın sağlık verilerine erişmesine izin vermesi gereken tüm test kullanıcılarının e-posta adresini girin.
- Kaydet'i tıklayın.
Google Health API ile 100'den fazla kullanıcıyı desteklemek için üçüncü taraf güvenlik incelemesinin tamamlanması gerekir. Ek bilgileri OAuth Uygulaması Doğrulama Yardım Merkezi'nde bulabilirsiniz.
Kapsam ekleme
İstemcinizin Veri Erişimi sayfasında hangi kapsamları çağırmasına izin verildiğini belirtmeniz gerekir:
- Bu sayfada Kapsam ekle veya kaldır'ı tıklayın.
- API sütununda "Google Health API"yi arayın. Uygulamanız için gereken kapsamları seçin.
- İhtiyacınız olan tüm kapsamları seçtikten sonra Güncelle'yi tıklayarak Veri Erişimi sayfasına dönün.
- Kaydet'i tıklayın.
İstemci kimliğinizi ayarlamayı tamamladınız ve artık Google Health API'ye çağrı yapabilirsiniz.
Kapsamları güncelleyin
Kimlik doğrulama isteğinizde istem parametresini izin olarak ayarlayarak kullanıcıdan uygulamanızı yeniden yetkilendirmesini isteyebilirsiniz. prompt=consent dahil edildiğinde, tüm kapsamlar daha önce Google API'leri projenize verilmiş olsa bile uygulamanız her erişim kapsamı yetkilendirmesi istediğinde izin ekranı gösterilir.
prompt=consent parametresini kullanarak kapsam eklemek veya değiştirmek için aşağıdaki adımları uygulayın:
Uygulamanızın ihtiyaç duyduğu kapsamların tam listesini belirleyin. Bu, hem mevcut kapsamları hem de eklemeniz gereken yeni kapsamları içermelidir.
Yetkilendirme URL'sindeki kapsam parametresini, güncellenmiş boşlukla ayrılmış kapsam değerleri listesini içerecek şekilde değiştirin.
Kimlik doğrulama URI parametrelerinize
prompt=consentekleyin. Bu, yetkilendirme sunucusunu, istemcinize bilgi döndürmeden önce kullanıcıdan izin istemeye zorlar.Aşağıdaki örnekte, Google'ın OAuth 2.0 yetkilendirme uç noktasına yapılan ve
prompt=consenteklenerek birden fazla kapsam isteyen bir HTTPS GET isteği gösterilmektedir:https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
Kullanıcı güncellenen bağlantıyı tıkladığında, istenen tüm kapsamların listelendiği bir izin sayfası gösterilir. Kullanıcı "Devam" veya "İzin ver"i tıkladığında, kapsamların tamamını kapsayan jetonlarla değiştirilebilecek yeni bir yetkilendirme kodu alırsınız.
prompt=consentsimgesini yalnızca gerekli durumlarda (ör. yeni bir yenileme jetonu almanız gerektiğinde veya istenen kapsamlar değiştiğinde) ekleyin.
OAuth2 istemci kitaplıkları
Popüler çerçevelerle entegrasyon için kullanılan mevcut OAuth2 istemci kitaplıklarının listesini Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümünde bulabilirsiniz.
Yenileme jetonları
Kullanıcının sürekli olarak yeniden kimlik doğrulaması yapmasını gerektirmeden Google API'lerine uzun süreli erişim sağlamak için uygulamanızın yenileme jetonu kullanması gerekir. Gerekli HTTP istekleri ve parametreler de dahil olmak üzere kapsamlı uygulama ayrıntıları için Google Identity Platform dokümanlarına bakın.
Yenileme jetonunu erişim jetonuyla değiştirmek için Google OAuth 2.0 jeton uç noktasına bir HTTPS POST çağrısı yapın. Aşağıdaki snippet'te örnek bir istek ve yanıt gösterilmektedir:
İstek
curl -L -X POST 'https://oauth2.googleapis.com/token' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'
Yanıt
{
"access_token": "access-token",
"expires_in": 3599,
"scope": "scope-list",
"token_type": "Bearer",
"refresh_token": "refresh-token",
"refresh_token_expires_in": 112154
}Test sırasında jeton davranışı
Yenileme jetonlarının, Google Cloud projenizin yayınlanma durumuna bağlı olarak nasıl davrandığını bilin:
- Test Modu: OAuth izin ekranınız "Test" yayınlama durumuyla yapılandırılmışsa verilen yenileme jetonları zamana bağlıdır ve 7 gün sonra sona erer. Bu süre zarfında, geçerliliğini yitirene kadar yeni erişim jetonları almak için geçerli ve kullanılabilir olan tek bir yenileme jetonu alırsınız.
- Yayınlanmış Mod: Uygulamanız "Üretim Aşamasında" durumuna taşındıktan sonra, yenileme jetonları genellikle iptal edilmedikleri veya uzun süre (genellikle altı ay) kullanılmadıkları sürece geçerliliklerini yitirmez.
Sorunsuz bir kullanıcı deneyimi için, 7 günlük jeton geçerlilik süresinin dolmasını önlemek amacıyla uygulamanızı üretim ortamına taşımadan önce yayınladığınızdan emin olun.