ตั้งค่าการเข้าถึง API

วิธีตั้งค่าสิทธิ์เข้าถึง Data Manager API ด้วย SDK หรือ REST มีดังนี้

ข้อกำหนดเบื้องต้น

ก่อนที่จะใช้ Data API ได้ โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้

  1. โปรเจ็กต์ Google Cloud
  2. บัญชี Google ที่ตรงตามเกณฑ์ทั้ง 2 ข้อต่อไปนี้
    1. ได้รับสิทธิ์เข้าถึง Data Manager API หลังจากที่คุณกรอกแบบฟอร์มแสดงความสนใจ Data Manager API หากเห็นหน้าข้อมูลผลิตภัณฑ์ API แสดงว่าคุณมีสิทธิ์เข้าถึง
    2. มีserviceusage.services.enableสิทธิ์ในโปรเจ็กต์ Google Cloud หรือมีบทบาทที่มีสิทธิ์ดังกล่าว ตัวอย่างเช่น roles/owner และ roles/serviceusage.serviceUsageAdmin มีสิทธิ์ serviceusage.services.enable ทั้งคู่ หากต้องการตรวจสอบสิทธิ์ ให้ดูดูสิทธิ์เข้าถึงปัจจุบัน

เปิดใช้ API

หากยังไม่ได้ดำเนินการ ให้เปิดใช้ Data Manager API โดยคลิกเปิดใช้ Data Manager API หรือทำตามวิธีการเพื่อดำเนินการ ขั้นตอนนี้ด้วยตนเอง

เปิดใช้ Data Manager API

หากไม่พบ Data Manager API หรือเปิดใช้ Data Manager API ไม่สำเร็จ ให้ตรวจสอบว่าบัญชี Google เป็นไปตามข้อกำหนดเบื้องต้น

ตั้งค่าการตรวจสอบสิทธิ์

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

วิธีการตรวจสอบสิทธิ์ที่ใช้กันโดยทั่วไป 2 วิธีคือบัญชีผู้ใช้และบัญชีบริการ

  • บัญชีผู้ใช้: แสดงถึงผู้ที่โต้ตอบกับ Google API และ บริการโดยตรง
  • บัญชีบริการ: แสดงแอป ไม่ใช่ผู้ใช้ ซึ่งช่วยให้แอปของคุณจัดการการตรวจสอบสิทธิ์และการให้สิทธิ์ได้ เช่น หากแอป ต้องเข้าถึงทรัพยากร Google Cloud

การผสานรวมสามารถใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อ ค้นหาข้อมูลเข้าสู่ระบบจากสภาพแวดล้อมโดยอัตโนมัติ คุณจึงไม่ต้องเปลี่ยน โค้ดไคลเอ็นต์เพื่อตรวจสอบสิทธิ์

เลือกบัญชีผู้ใช้หรือการแอบอ้างเป็นบัญชีบริการเพื่อตั้งค่า ADC

ขั้นตอนในการตรวจสอบสิทธิ์ด้วยข้อมูลเข้าสู่ระบบของบัญชีผู้ใช้มีดังนี้

  1. กำหนดค่าการตั้งค่า Google Auth Platform สำหรับโปรเจ็กต์

    1. เปิดหน้าการสร้างแบรนด์ ใน Google Cloud Console

    2. เลือกโปรเจ็กต์

    3. กรอกแบบฟอร์ม แล้วคลิกสร้าง

  2. เนื่องจากขอบเขต Data Manager API เป็นขอบเขตที่มีความละเอียดอ่อน คุณจึงต้องทำตามขั้นตอนต่อไปนี้

    1. ไปที่การตั้งค่าการเข้าถึงข้อมูลสำหรับโปรเจ็กต์

    2. คลิกเพิ่มหรือนำขอบเขตออก

    3. เลือกช่องข้าง Data Manager API ในรายการขอบเขต แล้วคลิกอัปเดต

    4. คลิกบันทึก

    5. ไปที่กลุ่มเป้าหมายใน Google Cloud Console แล้วอัปเดตสถานะการเผยแพร่และ ประเภทผู้ใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าเหล่านี้ได้ในจัดการกลุ่มเป้าหมายแอป

  3. คลิกสร้างไคลเอ็นต์ OAuth2 เพื่อสร้างไคลเอ็นต์ OAuth2 ในโปรเจ็กต์ หรือทำตามวิธีการ เพื่อสร้างไคลเอ็นต์ OAuth2 สำหรับเดสก์ท็อป

    สร้างไคลเอ็นต์ OAuth2

    ในขั้นตอนสุดท้าย ให้คลิกดาวน์โหลดการกำหนดค่าไคลเอ็นต์และจดบันทึก ตำแหน่งที่ตั้งของการดาวน์โหลดที่คุณเลือก

  4. สร้างไฟล์ ADC ในเครื่องโดยการเรียกใช้คำสั่งต่อไปนี้ คำสั่งนี้จะเปิดโฟลว์เว็บซึ่งระบบจะ แจ้งให้คุณเข้าสู่ระบบบัญชี Google ที่คุณใช้กับ API

    แทนที่ PATH_TO_CLIENT_JSON ด้วยชื่อไฟล์ JSON ที่คุณดาวน์โหลด

    gcloud auth application-default login \
      --scopes="https://www.googleapis.com/auth/datamanager,https://www.googleapis.com/auth/cloud-platform" \
      --client-id-file="PATH_TO_CLIENT_JSON"
    
  5. ยืนยันว่าได้ตั้งค่าข้อมูลเข้าสู่ระบบอย่างถูกต้องโดยใช้คำสั่งต่อไปนี้ หากสำเร็จ คำสั่งจะพิมพ์โทเค็นการเข้าถึงไปยังคอนโซล

    gcloud auth application-default print-access-token
    

ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์และข้อมูลเข้าสู่ระบบสำหรับแอปได้ที่วิธีการตรวจสอบสิทธิ์ที่ Google และวิธีการทำงานของข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน

ตั้งค่าสิทธิ์เข้าถึงบัญชีปฏิบัติการ

ให้สิทธิ์เข้าถึง Destination แก่อีเมลที่เชื่อมโยงกับบัญชีผู้ใช้

  • หากใช้บัญชี Google Ads หรือพาร์ทเนอร์ข้อมูล ทําตามวิธีการเพื่อ เพิ่มอีเมลของผู้ใช้ลงในบัญชี
  • หากใช้บัญชี Display & Video 360 ให้ทำตามวิธีการเพื่อ เพิ่มอีเมลของผู้ใช้ลงในบัญชี

ตั้งค่า SDK สำหรับภาษาโปรแกรม

ติดตั้ง SDK ที่ต้องการในเครื่องของคุณ

REST

  1. อัปเดตตัวยึดตำแหน่งในตัวอย่างต่อไปนี้ เช่น OPERATING_ACCOUNT_PRODUCT, OPERATING_ACCOUNT_ID และ AUDIENCE_ID ด้วยค่าสำหรับบัญชีและปลายทางของคุณ
  2. แทนที่ PROJECT_ID ด้วยรหัสของ Google Cloud
  3. คัดลอกตัวอย่างไปยังบรรทัดคำสั่งเพื่อส่งคำขอ

    นำแอตทริบิวต์ linkedAccount ของรายการใน destinations ออกหากคุณไม่ได้เข้าถึง operatingAccount โดยใช้ลิงก์ผลิตภัณฑ์ที่สร้างไว้

    #!/bin/bash
    
    # Uses gcloud to get an access token. If the Application Default
    # Credentials aren't for a service account, the command that specifies
    # --scopes fails. This sample falls back to the command without the
    # --scopes argument.
    DATA_MANAGER_ACCESS_TOKEN="$(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/datamanager || \
      gcloud auth application-default print-access-token)"
    
    # Fetches and prints the scope information for the access token. If you
    # get scope-related errors when you send the request in the next step,
    # verify that this output includes the Data Manager API scope:
    #   https://www.googleapis.com/auth/datamanager
    curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token="${DATA_MANAGER_ACCESS_TOKEN}"
    
    # Sends the request.
    curl -X POST "https://datamanager.googleapis.com/v1/audienceMembers:ingest" \
      --header "Authorization: Bearer ${DATA_MANAGER_ACCESS_TOKEN}" \
      --header "x-goog-user-project: PROJECT_ID" \
      --header "Content-Type: application/json" \
      --data @- <<EOF
    {
      "destinations": [
        {
          "operatingAccount": {
            "product": "OPERATING_ACCOUNT_PRODUCT",
            "accountId": "OPERATING_ACCOUNT_ID"
          },
          "loginAccount": {
            "product": "LOGIN_ACCOUNT_PRODUCT",
            "accountId": "LOGIN_ACCOUNT_ID"
          },
          "linkedAccount": {
            "product": "LINKED_ACCOUNT_PRODUCT",
            "accountId": "LINKED_ACCOUNT_ID"
          },
          "productDestinationId": "AUDIENCE_ID"
        }
      ],
      "audienceMembers": [
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3"
              },
              {
                "emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7"
              }
            ]
          }
        },
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3"
              },
              {
                "emailAddress": "54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51"
              },
              {
                "emailAddress": "e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478"
              }
            ]
          }
        },
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0"
              },
              {
                "emailAddress": "f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5"
              }
            ]
          }
        },
        {
          "userData": {
            "userIdentifiers": [
              {
                "emailAddress": "83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f"
              },
              {
                "emailAddress": "223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4"
              }
            ]
          }
        }
      ],
      "consent": {
        "adUserData": "CONSENT_GRANTED",
        "adPersonalization": "CONSENT_GRANTED"
      },
      "encoding": "HEX",
      "termsOfService": {
        "customerMatchTermsOfServiceStatus": "ACCEPTED"
      },
      "validateOnly": true
    }
    EOF
    

.NET

  1. ดาวน์โหลดและแตกไฟล์ google-cloud-ads-datamanager-v1-csharp.tar.gz

  2. ในโปรเจ็กต์ .NET ให้ประกาศProjectReferenceการอ้างอิงไลบรารี Data Manager API แทนที่ PATH_TO_CLIENT_LIBRARY ด้วยตำแหน่งที่คุณแยกไดเรกทอรี google-cloud-ads-datamanager-v1-csharp จาก google-cloud-ads-datamanager-v1-csharp.tar.gz

    <ProjectReference Include="PATH_TO_CLIENT_LIBRARY\Google.Ads.DataManager.V1\Google.Ads.DataManager.V1.csproj" />
    
  3. ไม่บังคับ รับไลบรารียูทิลิตีและตัวอย่างโค้ด

    1. ดาวน์โหลดและแตกไฟล์ data-manager-dotnet.tar.gz

    2. ในโปรเจ็กต์ .NET ให้ประกาศ ProjectReferenceDependency ใน ไลบรารียูทิลิตี แทนที่ PATH_TO_UTILITY_LIBRARY ด้วยตำแหน่งที่คุณแยกไดเรกทอรี data-manager-dotnet จาก data-manager-dotnet.tar.gz

      <ProjectReference Include="PATH_TO_UTILITY_LIBRARY\Google.Ads.DataManager.Util\src\Google.Ads.DataManager.Util.csproj" />
      
    3. หากต้องการจัดรูปแบบข้อมูล ให้ใช้ยูทิลิตี Formatter ในโปรเจ็กต์ .NET

    4. เรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย samples

      หากต้องการเรียกใช้โค้ดตัวอย่าง ให้ตั้งค่าตัวแปรDATA_MANAGER_DOTNET_LIBสภาพแวดล้อม เป็นตำแหน่งที่คุณแตกไดเรกทอรี google-cloud-ads-datamanager-v1-csharpจาก google-cloud-ads-datamanager-v1-csharp.tar.gz

      export DATA_MANAGER_DOTNET_LIB="PATH_TO_CLIENT_LIBRARY"
      

      เปลี่ยนไปที่ไดเรกทอรี samples แล้วใช้ dotnet run เพื่อดูรายการ ตัวอย่างที่พร้อมใช้งาน

      dotnet run --framework net8.0
      

      ส่งอาร์กิวเมนต์ --help เมื่อเรียกใช้ตัวอย่างเพื่อพิมพ์คำสั่งการใช้งาน พร้อมพารามิเตอร์ที่คาดไว้

      dotnet run --framework net8.0 -- ingest-audience-members --help
      

      หากต้องการช่วยให้คุณเริ่มต้นใช้งานข้อมูลตัวอย่างได้ ให้ใช้ไฟล์ที่ samples/sampledata/audience_members_1.csv

Java

  1. ดาวน์โหลดและแตกไฟล์ google-cloud-ads-datamanager-v1-java.tar.gz
  2. ไปที่ไดเรกทอรี google-cloud-ads-datamanager-v1-java
  3. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างและเผยแพร่ไลบรารีไปยัง ที่เก็บ Maven ในเครื่องเพื่อใช้กับ Maven หรือ Gradle

    ./gradlew -Pversion=0.1.0 install
    
  4. ในโปรเจ็กต์ Java ให้ประกาศทรัพยากร Dependency ในไลบรารี Data Manager API

    Gradle:

    implementation 'com.google.cloud:gapic-google-cloud-ads-datamanager-v1-java:0.1.0'
    

    Maven:

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>gapic-google-cloud-ads-datamanager-v1-java</artifactId>
      <version>0.1.0</version>
    </dependency>
    
  5. ไม่บังคับ รับไลบรารียูทิลิตีและตัวอย่างโค้ด

    1. โคลนที่เก็บ GitHub

      git clone https://github.com/googleads/data-manager-java.git
      
    2. ไปที่ไดเรกทอรี data-manager-java

    3. สร้างและเผยแพร่ไลบรารียูทิลิตีไปยังที่เก็บ Maven ในเครื่อง

      ./gradlew data-manager-util:install
      
    4. ในโปรเจ็กต์ Java ให้ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตี

      Gradle:

      implementation 'com.google.api-ads:data-manager-util:0.1.0'
      

      Maven:

      <dependency>
         <groupId>com.google.api-ads</groupId>
         <artifactId>data-manager-util</artifactId>
         <version>0.1.0</version>
      </dependency>
      
    5. หากต้องการจัดรูปแบบและเข้ารหัสข้อมูล ให้ใช้ยูทิลิตี UserDataFormatter และ Encrypter ในโปรเจ็กต์ Java

    6. เรียกดูตัวอย่างโค้ดในdata-manager-samplesไดเรกทอรีย่อยหรือบน GitHub หากต้องการเรียกใช้ตัวอย่างจากบรรทัดคำสั่ง ให้ใช้run งาน Gradle

      เช่น คำสั่งต่อไปนี้จะเรียกใช้ IngestAudienceMembers sample และพิมพ์คำชี้แจงการใช้งาน

      ./gradlew data-manager-samples:run \
        --args='IngestAudienceMembers --help'
      

      หากต้องการช่วยให้คุณเริ่มต้นใช้งานข้อมูลตัวอย่างได้ ให้ใช้ไฟล์ที่ data-manager-samples/src/main/resources/sampledata/audience_members_1.csv

Python

  1. ดาวน์โหลด ads-datamanager-v1-py.tar.gz
  2. ไปยังไดเรกทอรีของการดาวน์โหลด
  3. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างไลบรารีและทำให้พร้อมใช้งานสำหรับ โปรเจ็กต์อื่นๆ ในสภาพแวดล้อม Python เดียวกัน

    pip install ./ads-datamanager-v1-py.tar.gz
    
  4. ในโปรเจ็กต์ Python ให้ประกาศการอ้างอิงไลบรารี Data Manager API ตัวอย่างเช่น หากใช้ไฟล์ requirements.txt ในโปรเจ็กต์ ให้เพิ่มบรรทัดต่อไปนี้ลงในไฟล์

    google-ads-data-manager=0.1.0
    
  5. ไม่บังคับ รับไลบรารียูทิลิตีและตัวอย่างโค้ด

    1. ดาวน์โหลดและแตกไฟล์ data-manager-python.tar.gz
    2. ไปที่ไดเรกทอรี data-manager-python
    3. หากต้องการติดตั้งไลบรารียูทิลิตีในสภาพแวดล้อม Python ให้เรียกใช้คำสั่งต่อไปนี้

      pip install .
      
    4. ในโปรเจ็กต์ Python ให้ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตี ตัวอย่างเช่น หากใช้ไฟล์ requirements.txt ในโปรเจ็กต์ ให้เพิ่มบรรทัดต่อไปนี้ลงในไฟล์

      google-ads-data-manager-util=0.1.0
      
    5. หากต้องการจัดรูปแบบและเข้ารหัสข้อมูล ให้ใช้ยูทิลิตี Formatter และ Encrypter ในโปรเจ็กต์ Python

    6. เรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย samples ส่งอาร์กิวเมนต์ --help เมื่อเรียกใช้ตัวอย่างเพื่อพิมพ์ข้อความการใช้งานพร้อมพารามิเตอร์ที่คาดไว้

      หากต้องการช่วยให้คุณเริ่มต้นใช้งานข้อมูลตัวอย่างได้ ให้ใช้ไฟล์ที่ samples/sampledata/audience_members_1.csv

Node.js

  1. ดาวน์โหลดและแตกไฟล์ ads-datamanager-v1-nodejs.tar.gz
  2. ไปที่ไดเรกทอรี ads-datamanager-v1-nodejs
  3. เรียกใช้คำสั่งต่อไปนี้เพื่อคอมไพล์และแพ็กไลบรารีลงในไฟล์ .tgz เพื่อใช้กับ npm

    npm install
    npm pack
    

    คำสั่งจะสร้างที่เก็บถาวรชื่อ google-cloud-datamanager-0.1.0.tgz

  4. ในโปรเจ็กต์ Node.js ให้ประกาศการขึ้นต่อกันในไลบรารี Data Manager API โดยการเพิ่มรายการ dependencies สำหรับเส้นทางและชื่อไฟล์แบบเต็ม ของไฟล์ google-cloud-datamanager-0.1.0.tgz

PHP

  1. ดาวน์โหลดและแตกไฟล์ google-cloud-ads-datamanager-v1-php.tar.gz
  2. ไปที่ไดเรกทอรี google-cloud-ads-datamanager-v1-php
  3. เรียกใช้คำสั่งต่อไปนี้เพื่อแก้ไขทรัพยากร Dependency สำหรับไลบรารี

    composer update --prefer-dist
    
  4. ในไฟล์ composer.json ของโปรเจ็กต์ PHP ในโฮสต์เดียวกัน ให้ประกาศ การอ้างอิงในไลบรารี Data Manager API โดยทำตามขั้นตอนต่อไปนี้

    1. เพิ่มrepositoriesส่วนที่ชี้ไปยังตำแหน่งของgoogle-cloud-ads-datamanager-v1-phpไดเรกทอรี

      "repositories" : [
         {
            "type" : "path",
            "url" : "PATH_TO_CLIENT_LIBRARY"
         }
      ]
      
    2. ประกาศทรัพยากร Dependency ในไลบรารี Data Manager API

      "require": {
         "googleads/data-manager": "^0.1.0"
      }
      
  5. (ไม่บังคับ) รับไลบรารียูทิลิตีและตัวอย่างโค้ด

    1. ดาวน์โหลดและแตกไฟล์ data-manager-php.tar.gz
    2. ไปที่ไดเรกทอรี data-manager-php
    3. เรียกใช้คำสั่งต่อไปนี้เพื่อแก้ไขทรัพยากร Dependency สำหรับไลบรารี

      composer update --prefer-dist
      
    4. ในไฟล์ composer.json ของโปรเจ็กต์ PHP ในโฮสต์เดียวกัน ให้ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตีโดยทำตามขั้นตอนต่อไปนี้

      1. เพิ่มรายการในส่วน repositories ที่ชี้ไปยัง ตำแหน่งของไดเรกทอรี data-manager-php

        "repositories" : [
           {
              "type" : "path",
              "url" : "PATH_TO_UTILITY_LIBRARY"
           }
        ]
        
      2. ประกาศทรัพยากร Dependency ในไลบรารียูทิลิตี

        "require": {
           "googleads/data-manager-util": "@dev"
        }
        

      หากต้องการจัดรูปแบบข้อมูล ให้ใช้ยูทิลิตี Formatter ในโปรเจ็กต์ PHP

    5. เรียกดูตัวอย่างโค้ดในไดเรกทอรีย่อย samples เรียกใช้ตัวอย่าง โดยทำตามขั้นตอนต่อไปนี้

      1. ไปที่ไดเรกทอรี samples

      2. ตั้งค่าตัวแปรสภาพแวดล้อม DATA_MANAGER_PHP_LIB เป็นเส้นทาง ที่คุณแยกไลบรารีของไคลเอ็นต์

        export DATA_MANAGER_PHP_LIB="PATH_TO_CLIENT_LIBRARY"
        
      3. เรียกใช้คำสั่งต่อไปนี้เพื่อแก้ไขทรัพยากร Dependency สำหรับไลบรารี

        composer update --prefer-dist
        
      4. เรียกใช้ตัวอย่างโดยส่งอาร์กิวเมนต์ที่จำเป็น ส่งอาร์กิวเมนต์ --help เมื่อเรียกใช้ตัวอย่างเพื่อพิมพ์ข้อความการใช้งานพร้อมพารามิเตอร์ที่คาดไว้

      หากต้องการช่วยให้คุณเริ่มต้นใช้งานข้อมูลตัวอย่างได้ ให้ใช้ไฟล์ที่ samples/sampledata/audience_members_1.csv

ขั้นตอนถัดไป