Ví dụ về tài khoản dịch vụ Python API của Google Drive

Oct 28 2020

Có thể xác thực với API Google Drive bằng Tài khoản dịch vụ của Google, thay vì luồng OAuth không?

Các ví dụ Python cho Google Drive sử dụng OAuth - Python cho Google drive Bắt đầu nhanh

Tuy nhiên, tôi không thể tìm thấy bất kỳ ví dụ nào về Tài khoản dịch vụ.

Tuy nhiên, phần lớn các API Google khác mà tôi sử dụng (Dịch, Cloud Vision) đều sử dụng Tài khoản dịch vụ, vì vậy tôi không muốn dùng mã OAuth Google Drive của mình để đảm bảo tính nhất quán.

Trả lời

2 DaImTo Oct 28 2020 at 17:19

Ví dụ về python tài khoản dịch vụ tốt nhất mà tôi biết là ví dụ cho Google Analytics

Nó phải là một cái gì đó như thế này.

from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials


SCOPES = ['https://www.googleapis.com/auth/drive.readonly']
KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>'
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'


def initialize_drive():
  """Initializes an service object.

  Returns:
    An authorized service object.
  """
  creds = ServiceAccountCredentials.from_json_keyfile_name(
      KEY_FILE_LOCATION, SCOPES)

  # Build the service object.
  service = build('drive', 'v3', credentials=creds)

  return service

Khi bạn có dịch vụ ổ đĩa, bạn sẽ có thể sử dụng phần còn lại của mã bạn có từ hướng dẫn khác. Nó chỉ là phương pháp xác thực khác nhau.

Chỉ cần nhớ tạo thông tin đăng nhập tài khoản dịch vụ chứ không phải thông tin đăng nhập Oauth.