Müşteriler için Python hızlı başlangıç kılavuzu

Bu hızlı başlangıç kılavuzundaki adımları uygulayarak yaklaşık 10 dakikada sıfır dokunuşla kayıt müşteri API'sine istek gönderen basit bir Python komut satırı uygulaması oluşturabilirsiniz.

Ön koşullar

Bu hızlı başlangıç kılavuzunu çalıştırmak için gerekenler:

  • El değmeden kayıt müşteri hesabınızın üyesi olan bir Google Hesabı. Başlarken bölümüne bakın.
  • Python 3.0 veya sonraki sürümler.
  • pip paket yönetim aracı.
  • İnternete ve web tarayıcıya erişim.

1. adım: El değmeden kayıt API'sini etkinleştirin

  1. Google Developers Console'da proje oluşturmak veya mevcut bir projeyi seçmek ve API'yi otomatik olarak etkinleştirmek için bu sihirbazı kullanın. Devam'ı, ardından Kimlik bilgilerine git'i tıklayın.
  2. Kimlik bilgileri oluştur'da İptal'i tıklayın.
  3. Sayfanın üst kısmından OAuth izin ekranı sekmesini seçin. Bir e-posta adresi seçin, henüz ayarlanmadıysa bir ürün adı girin ve Kaydet düğmesini tıklayın.
  4. Kimlik bilgileri sekmesini seçin, Kimlik bilgileri oluştur düğmesini tıklayın ve OAuth istemci kimliği'ni seçin.
  5. Other uygulama türünü seçin, "Quickstart" adını girin ve Create (Oluştur) düğmesini tıklayın.
  6. OAuth istemcisi panelini kapatmak için Tamam'ı tıklayın.
  7. JSON'u indir'i tıklayın.
  8. Dosyayı çalışma dizininize taşıyın ve client_secret.json olarak yeniden adlandırın.

2. Adım: Google istemci kitaplığını yükleyin

Pip'i kullanarak kitaplığı yüklemek için aşağıdaki komutu çalıştırın:

pip install --upgrade google-api-python-client oauth2client

Farklı yükleme seçenekleri için kitaplığın yükleme sayfasına göz atın.

3. Adım: Örneği ayarlayın

Çalışma dizininizde quickstart.py adlı bir dosya oluşturun. Aşağıdaki kodu kopyalayıp dosyayı kaydedin.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Zero-touch enrollment quickstart sample.

This script forms the quickstart introduction to the zero-touch enrollemnt
customer API. To learn more, visit https://developer.google.com/zero-touch
"""

import sys
from apiclient import discovery
import httplib2
from oauth2client import tools
from oauth2client.client import flow_from_clientsecrets
from oauth2client.file import Storage

# A single auth scope is used for the zero-touch enrollment customer API.
SCOPES = ['https://www.googleapis.com/auth/androidworkzerotouchemm']
CLIENT_SECRET_FILE = 'client_secret.json'
USER_CREDENTIAL_FILE = 'user_credential.json'


def get_credential():
  """Creates a Credential object with the correct OAuth2 authorization.

  Ask the user to authorize the request using their Google Account in their
  browser. Because this method stores the cedential in the
  USER_CREDENTIAL_FILE, the user is typically only asked to the first time they
  run the script.

  Returns:
    Credentials, the user's credential.
  """
  flow = flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
  storage = Storage(USER_CREDENTIAL_FILE)
  credential = storage.get()

  if not credential or credential.invalid:
    credential = tools.run_flow(flow, storage)  # skipping flags for brevity
  return credential


def get_service():
  """Creates a service endpoint for the zero-touch enrollment API.

  Builds and returns an authorized API client service for v1 of the API. Use
  the service endpoint to call the API methods.

  Returns:
    A service Resource object with methods for interacting with the service.
  """
  http_auth = get_credential().authorize(httplib2.Http())
  return discovery.build('androiddeviceprovisioning', 'v1', http=http_auth)


def main():
  """Runs the zero-touch enrollment quickstart app.
  """
  # Create a zero-touch enrollment API service endpoint.
  service = get_service()

  # Get the customer's account. Because a customer might have more
  # than one, limit the results to the first account found.
  response = service.customers().list(pageSize=1).execute()

  if 'customers' not in response:
    # No accounts found for the user. Confirm the Google Account
    # that authorizes the request can access the zero-touch portal.
    print('No zero-touch enrollment account found.')
    sys.exit()
  customer_account = response['customers'][0]['name']

  # Send an API request to list all the DPCs available using the customer
  # account.
  results = service.customers().dpcs().list(parent=customer_account).execute()

  # Print out the details of each DPC.
  for dpc in results['dpcs']:
    # Some DPCs may not have a name, so replace with a marker.
    if 'dpcName' in dpc:
      dpcName = dpc['dpcName']
    else:
      dpcName = "-"
    print('Name:{0}  APK:{1}'.format(dpcName, dpc['packageName']))


if __name__ == '__main__':
  main()

4. Adım: Sana Özel'i çalıştırın

Dosyadaki komut dosyasını çalıştırmak için işletim sisteminizin yardım sayfasını kullanın. UNIX ve Mac bilgisayarlarda terminalinizde aşağıdaki komutu çalıştırın:

python quickstart.py

Uygulamayı ilk kez çalıştırdığınızda erişime yetki vermeniz gerekir:

  1. Uygulama, varsayılan tarayıcınızda yeni bir sekme açmaya çalışır. Bu işlem işe yaramazsa konsoldan URL'yi kopyalayıp tarayıcınızda açın. Google Hesabınıza giriş yapmadıysanız giriş yapmanız istenir. Birden fazla Google Hesabı'na giriş yaptıysanız sayfa, yetkilendirme için bir hesap seçmenizi ister.
  2. Kabul et'i tıklayın.
  3. Tarayıcı sekmesini kapatın. Uygulama çalışmaya devam eder.

Notlar

  • Google API istemci kitaplığı yetkilendirme verilerini dosya sisteminde depoladığından sonraki başlatmalarda sizden yetkilendirme istenmez.
  • Uygulamanın yetkilendirme verilerini sıfırlamak için user_credential.json dosyasını silin ve uygulamayı tekrar çalıştırın.
  • Bu hızlı başlangıç kılavuzundaki yetkilendirme akışı, komut satırı uygulamaları için idealdir. Bir web uygulamasına nasıl yetkilendirme ekleyeceğinizi öğrenmek için Web Sunucusu Uygulamaları için OAuth 2.0'ı Kullanma başlıklı makaleyi inceleyin.

Sorun giderme

Kontrol etmeniz gereken bazı yaygın noktalar aşağıda açıklanmıştır. Hızlı başlangıçla ilgili neyin yanlış gittiğini bize bildirin. Sorunu düzeltmek için gerekeni yapacağız.

  • API çağrılarını, el değmeden kayıt müşteri hesabınızın üyesi olan Google Hesabı ile yetkilendirdiğinizden emin olun. Erişiminizi test etmek için aynı Google Hesabı ile el değmeden kayıt portalında oturum açmayı deneyin.
  • Hesabın portalda en son Hizmet Şartları'nı kabul ettiğini onaylayın. Müşteri hesapları başlıklı makaleyi inceleyin.

Daha fazla bilgi