การให้สิทธิ์ API

ใช้ OAuth 2.0 เพื่อให้สิทธิ์แอปพลิเคชันของคุณ เมื่อเข้าถึง API ของโรงแรม

การตั้งค่า OAuth 2.0

OAuth 2.0 กำหนดให้คุณระบุตัวตนโดยใช้บัญชีบริการ ที่เชื่อมโยงกับบัญชี Google ของคุณ บัญชีบริการจะส่งการตั้งค่า เพื่อแลกเปลี่ยนกับโทเค็นเพื่อการเข้าถึง OAuth 2.0 จากนั้นคุณสามารถใช้โทเค็นนี้ใน การเรียกไปยัง API ของโรงแรมสำหรับข้อมูลแบบอ่านอย่างเดียว เช่น ราคา โรงแรม และ ข้อมูลการรายงานการวินิจฉัยเกี่ยวกับฟีดราคาโรงแรม

โทเค็นเพื่อการเข้าถึงมีอายุ 1 ชั่วโมง (3,600 วินาที)

หากคุณใช้งาน ClientLogin ก่อนหน้านี้ วิธี OAuth 2.0 จะคล้ายกัน ซึ่งมีความแตกต่างดังต่อไปนี้

  • แอปพลิเคชันจะใช้บัญชีบริการของ Google เพื่อเข้าถึง API
  • คุณส่งโทเค็นเพื่อการเข้าถึง OAuth 2.0 ในส่วนหัว HTTP ของ Authorization เมื่อ การเรียกใช้ API

โปรดทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่าบัญชีให้ใช้ OAuth 2.0 กับ Travel Partner API

  1. สร้างโปรเจ็กต์ใหม่ใน Google Developers Console (DevConsole)

  2. เปิดใช้การเข้าถึง Travel Partner API สำหรับโปรเจ็กต์ใหม่

  3. สร้างบัญชีบริการและข้อมูลเข้าสู่ระบบของบัญชีดังกล่าว

  4. ให้สิทธิ์เข้าถึงข้อมูลโรงแรมแก่บัญชีบริการ

อ่านข้อมูลเกี่ยวกับแต่ละขั้นตอนเหล่านี้ได้ในส่วนต่อไป

ขั้นตอนที่ 1: สร้างโปรเจ็กต์ใหม่ใน DevConsole

Google Developers Console ("DevConsole") เป็นประสบการณ์การใช้งานสำหรับนักพัฒนาซอฟต์แวร์ของ Google สำหรับจัดการและดูข้อมูลการเข้าชม การตรวจสอบสิทธิ์ และข้อมูลสำหรับการเรียกเก็บเงิน สำหรับ Google APIs ที่โปรเจ็กต์ใช้

ใน DevConsole โปรเจ็กต์คือชุดการตั้งค่า ข้อมูลเข้าสู่ระบบ และข้อมูลเมตาเกี่ยวกับแอปพลิเคชัน หรือแอปพลิเคชันที่คุณกำลังใช้ ซึ่งใช้ Google Developer API และทรัพยากร Google Cloud

DevConsole คือพื้นที่ที่คุณจัดการโปรเจ็กต์ในด้านเหล่านี้ เช่น การสร้างข้อมูลเข้าสู่ระบบ API, การเปิดใช้งาน API, การจัดการทีมและการเรียกเก็บเงิน ข้อมูลที่เชื่อมโยงกับโปรเจ็กต์ของคุณ

วิธีสร้างโปรเจ็กต์ใหม่ใน DevConsole มีดังนี้

  1. ลงชื่อเข้าใช้บัญชี Gmail/Google

  2. เปิด Google Developer Console หากนี่เป็นโปรเจ็กต์แรกของคุณ มุมมองหลักจะแสดง ปุ่มสร้างโครงการง่ายๆ ดังนี้

    fig1

  3. คลิกปุ่มสร้างโครงการ DevConsole จะแสดง กล่องโต้ตอบโปรเจ็กต์ใหม่:

    fig2

    ป้อนชื่อที่ต้องการสําหรับโปรเจ็กต์ใหม่ในชื่อโปรเจ็กต์ ฟิลด์ป้อนข้อมูล DevConsole จะสร้างรหัสโปรเจ็กต์ให้คุณใต้ช่องดังกล่าว การตรวจสอบว่ารหัสไม่ซ้ำกันในโปรเจ็กต์ทั้งหมด ตัวอย่างเช่น หากคุณ ให้ป้อน "My New Project" DevConsole จะกำหนดรหัส เช่น my-new-project-266022

  4. คลิกปุ่มสร้างเพื่อสร้างโปรเจ็กต์ใหม่

  5. ใช้เมนูการนำทางเพื่อเลือก API และ บริการ > แดชบอร์ด

    fig3

    รูปภาพด้านล่างแสดงเมนูการนำทางที่ด้านซ้ายบนของ DevConsole โดยเมนูนี้จะแสดงมุมมองแดชบอร์ดสำหรับโปรเจ็กต์ของคุณ ดังนี้

    fig4

ดูข้อมูลเพิ่มเติมได้ที่จัดการโปรเจ็กต์ในนักพัฒนาแอป Google Play

เมื่อสร้างโปรเจ็กต์ใหม่ โปรเจ็กต์ดังกล่าวจะยังไม่มี API ที่เชื่อมโยงกับโปรเจ็กต์ดังกล่าว ใน ในขั้นตอนถัดไป คุณจะเปิดใช้ Travel Partner API สำหรับโปรเจ็กต์ใหม่

ขั้นตอนที่ 2: เปิดใช้ Travel Partner API สำหรับโปรเจ็กต์ใหม่

คุณต้องเปิดใช้ Travel Partner API ในโปรเจ็กต์ DevConsole ใหม่เพื่อใช้ API ของโรงแรม

วิธีเปิดใช้ API ของโรงแรมสำหรับโปรเจ็กต์ใหม่มีดังนี้

  1. ไปที่มุมมองหน้าแดชบอร์ดของโปรเจ็กต์ตามที่อธิบายไว้ข้างต้น

  2. คลิกเปิดใช้ API และบริการ การดำเนินการนี้แสดงข้อความต้อนรับของไลบรารี API

  3. ในช่องค้นหา ให้เริ่มพิมพ์ Travel Partner API คอนโซล Google API จะแสดงรายการ API ที่ตรงกับสิ่งที่คุณพิมพ์

  4. คลิก Travel Partner API ในตาราง API ที่ตรงกัน DevConsole แสดงคำอธิบายเกี่ยวกับ API

  5. คลิกปุ่มเปิดใช้ API เพื่อเปิดใช้ API นี้สำหรับโปรเจ็กต์ของคุณ

ดูข้อมูลเพิ่มเติมได้ที่เปิดและปิดใช้งาน API

ตอนนี้เราได้เปิดใช้ Hotel API สำหรับโปรเจ็กต์ใหม่ของบัญชี Google แล้ว

ขั้นตอนถัดไปคือการสร้างบัญชีบริการและคีย์สำหรับบัญชีดังกล่าว

ขั้นตอนที่ 3: สร้างบัญชีบริการและข้อมูลเข้าสู่ระบบของบัญชีดังกล่าว

บัญชีบริการจะใช้โดยการโต้ตอบแบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์ เช่น การโต้ตอบระหว่าง เว็บแอปพลิเคชันและข้อมูลโรงแรมของคุณ

วิธีสร้างและกำหนดค่าบัญชีบริการ

  1. ในมุมมองหลักของคอนโซล Google API ให้คลิกข้อมูลเข้าสู่ระบบใน การนำทางด้านซ้าย จากนั้น DevConsole จะแสดงมุมมองข้อมูลเข้าสู่ระบบ

    มุมมองข้อมูลเข้าสู่ระบบจะแสดงรหัสไคลเอ็นต์และข้อมูลเข้าสู่ระบบสำหรับ แอปพลิเคชันของคุณจะใช้รหัสไคลเอ็นต์เมื่อส่งคำขอ โทเค็นเพื่อการเข้าถึง OAuth 2.0 โปรเจ็กต์ใหม่จะไม่มีไคลเอ็นต์หรือข้อมูลเข้าสู่ระบบ

  2. คลิกลิงก์ข้อมูลเข้าสู่ระบบใน API และบริการ

  3. คลิกปุ่มสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกคีย์บัญชีบริการ จากเมนูแบบเลื่อนลง มุมมองสร้างคีย์ของบัญชีบริการจะปรากฏขึ้น

  4. จากเมนูแบบเลื่อนลงบัญชีบริการ ให้เลือกบัญชีบริการใหม่

  5. ป้อนชื่อบัญชีบริการและรหัสบัญชีบริการ

    ตั้งชื่ออะไรก็ได้ตามต้องการ แต่รหัสบัญชีต้องไม่ซ้ำกัน ในทุกโปรเจ็กต์ DevConsole จะสร้างรหัสบัญชีที่ไม่ซ้ำกันให้คุณ ตามชื่อที่คุณป้อน

  6. เลือก P12 สำหรับประเภทคีย์ดังที่แสดงด้านล่าง ต้องระบุ P12

    fig5

  7. คลิกที่ปุ่มสร้าง DevConsole จะสร้างคู่คีย์ส่วนตัว/สาธารณะ สำหรับโปรเจ็กต์ของคุณ คีย์ส่วนตัวจะบันทึกอยู่ในตำแหน่งเริ่มต้นที่ เบราว์เซอร์ของคุณจะจัดเก็บการดาวน์โหลด คุณต้องดาวน์โหลด .p12 (ไบนารี) ซึ่งตรงข้ามกับ.jsonรูปแบบไฟล์

    คุณใช้คีย์ส่วนตัวในสคริปต์หรือแอปพลิเคชันอื่นๆ ที่เข้าถึง Travel Partner API

    DevConsole จะแสดงการแจ้งเตือนต่อไปนี้เมื่อสร้างเสร็จแล้ว คีย์:

    fig6

  8. คลิกปุ่มรับทราบ DevConsole จะพาคุณกลับไปที่ มุมมองข้อมูลเข้าสู่ระบบ วิธียืนยันรายละเอียดเกี่ยวกับบัญชีบริการและ ดูบัญชีบริการที่เชื่อมโยงกับโปรเจ็กต์ของคุณ ให้คลิกจัดการ บัญชีบริการในมุมมองนี้

    ตอนนี้บัญชีบริการมีข้อมูลรับรองต่อไปนี้ที่เชื่อมโยงอยู่

    • รหัสไคลเอ็นต์: ตัวระบุที่ไม่ซ้ำกันซึ่งแอปพลิเคชันของคุณใช้เมื่อ ขอโทเค็นเพื่อการเข้าถึง OAuth 2.0
    • อีเมล: อีเมลที่สร้างขึ้นสำหรับบัญชีบริการใน แบบฟอร์ม "account_name@account_name.google.com.iam.gserviceaccount.com"
    • ลายนิ้วมือสำหรับใบรับรอง: รหัสของคีย์ส่วนตัวที่คุณ ดาวน์โหลดแล้ว

สำหรับข้อมูลเพิ่มเติม โปรดดูที่การใช้ OAuth 2.0 สำหรับเซิร์ฟเวอร์เพื่อ แอปพลิเคชันเซิร์ฟเวอร์

ขั้นตอนที่ 4: ให้สิทธิ์เข้าถึงข้อมูล Hotel Center แก่บัญชีบริการ

ขั้นตอนสุดท้ายคือการให้สิทธิ์บัญชีบริการใหม่ในการเข้าถึง Hotel Center บัญชีบริการจะระบุด้วยอีเมลที่สร้างขึ้นซึ่ง ที่คุณสร้างไว้ในขั้นตอนก่อนหน้า คุณให้สิทธิ์เข้าถึงบัญชีนี้โดยใช้ การตั้งค่าการแชร์ใน Hotel Center

วิธีให้สิทธิ์เข้าถึงข้อมูล Hotel Center แก่บัญชีบริการ

หากคุณไม่มีสิทธิ์ที่เหมาะสมในการเพิ่มผู้ใช้ลงในบัญชี โปรดติดต่อ ทีม Google Hotels โดยใช้แบบฟอร์มติดต่อเราและขอให้เราตั้งค่าการเป็นเจ้าของสำหรับ บัญชีของคุณ คุณขอให้ส่งอีเมลถึงเจ้าของได้อย่างน้อย 1 ฉบับ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเข้าถึง Hotel Center ได้ที่ลิงก์ Hotel Center และ Google Ads

  1. เปิด Hotel Center ในหน้าต่างเบราว์เซอร์ใหม่ fig7

  2. ในแบนเนอร์ Hotel Center โดย Google ให้คลิกไอคอนเพิ่มผู้ใช้เพื่อเปิด กล่องโต้ตอบการแชร์

    fig8

  3. ในช่องเพิ่มบุคคลอื่น ให้ป้อนที่อยู่อีเมลของบริการ บัญชีที่ต้องการเพิ่มไปยัง Hotel Center

  4. เลือกตัวเลือกแจ้งบุคคลอื่นไว้

  5. เลือกจัดการจากเมนูแบบเลื่อนลง

  6. คลิกปุ่มเชิญ

  7. หลังจากเพิ่มผู้ใช้ลงใน Hotel Center แล้ว บัญชีบริการควรมีลักษณะดังนี้ สำหรับการเข้าถึง API ภายในเวลาประมาณ 24 ชั่วโมง

หลังจากที่ Google แจ้งให้ทราบว่ามีการเปิดใช้การเข้าถึง API สำหรับบริการของคุณ คุณสามารถเริ่มเข้าถึง API ด้วย OAuth ได้

การใช้ OAuth 2.0

ในการเข้าถึง API แอปพลิเคชันของคุณจะต้องระบุตัวตนกับ Google ด้วย อีเมลและคีย์ส่วนตัวที่สร้างขึ้นของบัญชีบริการ จาก Google กลไกการตรวจสอบสิทธิ์จะแลกเปลี่ยนคีย์นี้สำหรับโทเค็นเพื่อการเข้าถึง OAuth 2.0 ที่ ที่คุณส่งในส่วนหัว Authorization ในการเรียก API ของแอป

โทเค็นเพื่อการเข้าถึง (หรือที่เรียกว่าโทเค็นสำหรับผู้ถือ) เป็นส่วนหนึ่งของ OAuth 2.0 มาตรฐาน ไวยากรณ์สำหรับการระบุโทเค็นเพื่อการเข้าถึงในส่วนหัว HTTP มีดังนี้

Authorization: Bearer *oauth2_access_token*

ตัวอย่างต่อไปนี้แสดงตัวอย่างส่วนหัว HTTP ของคำขอที่เข้าถึง API การรายงาน:

GET /travelpartner/v2.0/42000042/reports/top_opportunity_7_day HTTP/1.1
Host: www.googleapis.com
Authorization: Bearer nd42.fdLSKkljD98344444444444lSDF42fdLSKkljD98344444444444lSDF42
Cache-Control: no-cache

หากต้องการสร้างโทเค็นเพื่อการเข้าถึง ให้สร้างแอปพลิเคชันเป็นภาษาที่คุณเลือก ตัวอย่างต่อไปนี้สร้างโทเค็นใน Python จากนั้นคุณสามารถใช้ ในคำขอ ส่วนหัว Authorization เมื่อเข้าถึง Travel Partner API

#!/usr/bin/python2.7
#
""" Sample code to get an auth header that you can use in your HTTP requests
    1. Please see https://developers.google.com/api-client-library/python/start/installation
       to download and install the google-api-python-client package.
    2. Edit lines below marked _SERVICE_ACCOUNT, _KEY_FILE,  _PARTNER_NAME,
       and _API_VERSION.
    3. Run the program using: "python sample.py". The app returns the value that
       you use for the Authorization header's Bearer token in your request.
    4. Copy the token and use it in requests to the Travel Partner API.
       For example (2.0):
       https://www.googleapis.com/travelpartner/2.0/42000042/reports/budget
       For example (1.x):
       https://www.googleapis.com/travelpartner/1.2/reports?report_type=BUDGET
"""
import httplib2
import json
import os
import sys
import urllib

HAS_CRYPTO = False

from apiclient import discovery
from oauth2client.client import flow_from_clientsecrets
try:
  # Some systems may not have OpenSSL installed so can't use SignedJwtAssertionCredentials.
  from oauth2client.client import SignedJwtAssertionCredentials
  HAS_CRYPTO = True
except ImportError:
  print "Unable to import SignedJwtAssertionCredentials"

from oauth2client import tools
from oauth2client.file import Storage

# Authorization scope for our requests (do not change)
_DEFAULT_APISCOPE = 'https://www.googleapis.com/auth/travelpartner'

# Use the service account you set up in the Google Developers Platform.
# It will be of the form "gsaccount_name@project_name.google.com.iam.gserviceaccount.com".
_SERVICE_ACCOUNT = ('myserviceaccount@my-hotel-project.google.com.iam.gserviceaccount.com')

# Set this to the full path to your service account's private binary .p12 key file
# that you downloaded from the Google Developer's Console and stored in a secure place.
# DO NOT use the json version of the certificate.
_KEY_FILE = '../mylocaldir/api-keys/8482bb2bdb08.p12'

# Set this to the case-sensitive "Partner Key", NOT the account
# name in the Hotel Ads Center or the numeric partner ID.
# Check with your TAM if you do not know your "Partner Key" name.
_PARTNER_NAME = 'testpartner2'

class HotelAdsAPIConnection(object):
  def __init__(self, service_account=_SERVICE_ACCOUNT, key=_KEY_FILE, partner=_PARTNER_NAME):
    self.key_file = key
    self.account = service_account
    self.partner = partner

  def InitializeCredentials(self, scope):
    '''Get credentials for use in API requests.
    Generates service account credentials if the key file is present,
    and regular user credentials if the file is not found.
    '''
    if os.path.exists(self.key_file):
      if not HAS_CRYPTO:
        raise Exception("Unable to use cryptographic functions "
                        + "Try installing OpenSSL")
      with open (self.key_file, 'rb') as file:
        key = file.read();
      creds = SignedJwtAssertionCredentials(self.account, key, scope)
      self.credentials = creds

  def authorize(self):
    '''Construct a HTTP client that uses the supplied credentials.'''
    return credentials.authorize(httplib2.Http())

  def print_creds(self):
    '''Prints the Authorization header to use in HTTP requests.'''
    cred_dict = json.loads(self.credentials.to_json())

    if 'access_token' in cred_dict:
      print 'Authorization: Bearer %s' % (cred_dict['access_token'],)
    else:
      print 'creds: %s' % (cred_dict,)

  def GetConnection(self):
    http = httplib2.Http()
    self.credentials.refresh(http)
    http = self.credentials.authorize(http)
    self.print_creds()
    return http

def main(args):
  # Create an instance of the HotelAdsAPIConnection inner class
  api = HotelAdsAPIConnection()

  # Generate credentials
  api.InitializeCredentials(_DEFAULT_APISCOPE)

  # Output the Authorization header to use in HTTP requests
  api.GetConnection()

if __name__ == "__main__":
    main(sys.argv)</pre>

เมื่อพัฒนาแอปพลิเคชัน โปรดทำตามแนวทางปฏิบัติแนะนำ เพื่อให้ใช้คีย์ API ได้อย่างปลอดภัย

สคริปต์ Python ตัวอย่างแสดงผลผู้ถือของส่วนหัว Authorization ตามตัวอย่างต่อไปนี้

$ python sample.py
Authorization: Bearer ya29.42424242sample_420icu8122KSvoh4T42cRoG3rW1lc0Q
$

ใช้ค่าของโทเค็นในคำขอ เหมาะสำหรับ 1 ชั่วโมงหลังจากคุณ แล้วสร้างขึ้นมา

การแก้ปัญหา

หากพบปัญหา การตรวจสอบรายการต่อไปนี้อย่างรวดเร็วอาจช่วยแก้ปัญหา ปัญหาที่เกิดขึ้น

  1. คุณได้สร้างโปรเจ็กต์ในแผงควบคุมสำหรับนักพัฒนาซอฟต์แวร์ Google ไหม
  2. คุณค้นหาและเปิดใช้ Travel Partner API ไหม
  3. คุณได้ดาวน์โหลดไฟล์ .p12 ซึ่งเป็นคีย์ส่วนตัวหลังจากการคลิกไหม สร้างรหัสไคลเอ็นต์แล้วเลือกบัญชีบริการใช่ไหม
  4. คุณได้รับอีเมลรหัสไคลเอ็นต์ของบัญชีบริการในแบบฟอร์ม: nnnnnnn@app_name.google.com.iam.gserviceaccount.comใช่ไหม
  5. คุณได้แชร์บัญชีศูนย์ช่วยเหลือของ Google Hotel Ads กับบัญชีบริการโดยคลิก ปุ่มแชร์บัญชีนี้หรือไม่
  6. คุณได้ส่งอีเมลและรหัสพาร์ทเนอร์ของบัญชีบริการไปยัง ผู้จัดการลูกค้าด้านเทคนิค (TAM) ของคุณ
  7. การเรียกใช้ Travel Partner API ของคุณผ่านโทเค็นที่ได้รับล่าสุดใน ส่วนหัว Authorization ใช่ไหม
  8. โทเค็นสำหรับผู้ถือของส่วนหัว Authorization มีอายุมากกว่า 1 ชั่วโมงใช่ไหม

ตารางต่อไปนี้แสดงข้อผิดพลาดที่พบบ่อยและวิธีแก้ปัญหาที่เป็นไปได้

ข้อผิดพลาด คำอธิบาย
Invalid credentials ปัญหานี้อาจเกิดขึ้นจากหลายสาเหตุ หากพบข้อผิดพลาดนี้ ให้ตรวจสอบว่า
  • คุณระบุส่วนหัว Authorization ด้วยผู้ถือที่ถูกต้อง โทเค็น
  • โทเค็นสำหรับผู้ถือมีอายุไม่ถึง 1 ชั่วโมง โทเค็นจะใช้งานได้เพียง 1 ชั่วโมงเท่านั้น
  • คุณระบุชื่อพาร์ทเนอร์ที่ถูกต้อง (ด้วย partner พารามิเตอร์สตริงการค้นหา) ค่านี้คือรหัสพาร์ทเนอร์ที่ไม่ซ้ำกัน ไม่ใช่ ชื่อพาร์ทเนอร์ที่ปรากฏในศูนย์ช่วยเหลือของ Google Hotel Ads หากไม่รู้จักพาร์ทเนอร์ โปรดติดต่อผู้จัดการลูกค้าด้านเทคนิค (TAM)
Not found ปลายทางของคุณอาจมีรูปแบบไม่ถูกต้อง ตรวจสอบว่าคุณส่ง GET คำขอ และ URL คำขอถูกต้อง (สอดคล้องกับ กับไวยากรณ์ API ที่คุณพยายามเข้าถึง)
Invalid string value ปลายทางอย่างน้อย 1 ส่วนมีไวยากรณ์ที่ไม่ถูกต้อง ตัวอย่างเช่น คุณอาจสะกดส่วนของเส้นทางผิด ตรวจสอบว่าคุณใช้หมายเลขที่ถูกต้อง ขีดล่าง การใช้อักษรตัวพิมพ์ใหญ่ และคำตลอดเส้นทางของคุณ
Unsupported output format ข้อผิดพลาดนี้มักเกิดขึ้นได้บ่อยเมื่อใช้ Reports API คุณต้อง ระบุ "alt=csv" ใน URL ของ GET อีกครั้ง Reports API ไม่รองรับ JSON
AccessTokenRefreshError/Invalid grant เมื่อเรียกใช้แอป Python ตัวอย่าง ข้อผิดพลาดนี้อาจเกิดจาก ดังต่อไปนี้
  • อีเมลบัญชีบริการไม่ถูกต้อง ตรวจสอบอีเมล ในแผงควบคุมสำหรับนักพัฒนาซอฟต์แวร์ Google และตรวจสอบว่าบัญชีดังกล่าวได้รับสิทธิ์ให้เข้าถึง API
  • อีเมลไม่มีสิทธิ์เข้าถึง API ตรวจสอบว่าอีเมล ที่อยู่ได้รับสิทธิ์ให้เข้าถึงข้อมูลโรงแรมของคุณ (แชร์ผ่าน Hotel Center)
  • ไฟล์คีย์ไม่ถูกต้องสำหรับบัญชีบริการ ใช้เมนู DevConsole เพื่อดาวน์โหลดใบรับรอง .p12 ใหม่และ แอป Python ของคุณชี้ไปยังอันที่ถูกต้อง
HotelAdsAPIConnection object has no attribute credentials เมื่อเรียกใช้แอป Python ตัวอย่าง เส้นทางไปยัง .p12 ไฟล์ ไม่ถูกต้อง
Invalid scope เมื่อเรียกใช้แอป Python ตัวอย่าง ขอบเขต API ต้องเป็น https://www.googleapis.com/auth/travelpartner
Forbidden รหัสบัญชีที่คุณใช้เป็นรหัสที่คุณไม่มีสิทธิ์ เพื่อเข้าถึง หากเป็นเจ้าของบัญชีย่อย คุณอาจเข้าถึงไม่ได้ รหัสบัญชีระดับบนสุดหรือรูท