इस गाइड में, Ads Data Hub REST API का इस्तेमाल करके Ads Data Hub से इंटरैक्ट करने वाले ऐप्लिकेशन लिखने का तरीका बताया गया है. Ads Data Hub REST API की मदद से, अपने Google खाते से जुड़े Ads Data Hub के ग्राहकों को देखा जा सकता है. साथ ही, क्वेरी बनाई और चलाई जा सकती हैं.
सेटअप
Ads Data Hub API का इस्तेमाल करने से पहले, आपको ये चरण पूरे करने होंगे:
- पक्का करें कि एपीआई चालू करने वाले उपयोगकर्ता को Google Cloud प्रोजेक्ट में
serviceusage.services.enableअनुमति मिली हो. एपीआई को ऐक्सेस करने के लिए,serviceusage.services.enableकी अनुमति वाले उपयोगकर्ता को अनुमति वाली सूची में शामिल करना भी ज़रूरी है. - Google Cloud प्रोजेक्ट में Ads Data Hub API चालू करें. यह वही प्रोजेक्ट होना चाहिए जिसमें क्लाइंट क्रेडेंशियल या सेवा खाता बनाया गया था. कंसोल का इस्तेमाल करके, किसी प्रोजेक्ट के लिए Ads Data Hub API चालू करने के लिए:
- Cloud Console की एपीआई लाइब्रेरी पर जाएं.
- प्रोजेक्ट की सूची में से वह प्रोजेक्ट चुनें जिसका आपको इस्तेमाल करना है.
- "Ads Data Hub API" खोजें.
- एपीआई पेज पर, चालू करें पर क्लिक करें.
- अनुमतियां मैनेज करें:
- क्रेडेंशियल बनाने के लिए इस्तेमाल किए गए ईमेल पते या सेवा खाते को Ads Data Hub में ज़रूरी अनुमतियों के साथ जोड़ा जाना चाहिए. सेवा खाते के लिए, यह सेवा खाते का ईमेल पता होता है. OAuth के लिए, यह उपयोगकर्ता का ईमेल पता होता है. इससे यह पक्का होता है कि सेवा खाते या असली उपयोगकर्ता के खाते के पास, Ads Data Hub में क्वेरी चलाने की अनुमति है.
- (सुझाया गया) Google API क्लाइंट लाइब्रेरी इंस्टॉल करें:
- Google API की क्लाइंट लाइब्रेरी, कई लोकप्रिय भाषाओं में उपलब्ध हैं. इनकी मदद से, Google के कई एपीआई का इस्तेमाल किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है, लेकिन क्लाइंट लाइब्रेरी से आपको कम कोड लिखना पड़ता है. साथ ही, इससे पुष्टि करने की प्रोसेस को सेट अप करना आसान हो जाता है.
| क्लाइंट लाइब्रेरी | Ads Data Hub के सैंपल |
|---|---|
| Google API Client Library for Java | Java |
| Python के लिए Google API की क्लाइंट लाइब्रेरी |
पुष्टि करना और अनुमति देना
Ads Data Hub API, आपके Ads Data Hub ग्राहक खाते में मौजूद डेटा को ऐक्सेस और उसमें बदलाव कर सकता है. इसलिए, इसे यह पुष्टि करनी होगी कि आप एक अधिकृत उपयोगकर्ता हैं. इस वजह से, Ads Data Hub API का इस्तेमाल शुरू करने से पहले, आपको अनुमति देने की प्रोसेस पूरी करनी होगी. अनुमति देने की प्रोसेस से आपको एपीआई के साथ इंटरैक्ट करने के लिए ज़रूरी अनुमतियां मिलती हैं. OAuth 2.0 या सेवा खाते का इस्तेमाल करके पुष्टि की जा सकती है.
OAuth 2.0 सेटअप करना
यह एपीआई, इंस्टॉल किए गए ऐप्लिकेशन और वेब ऐप्लिकेशन के फ़्लो, दोनों के साथ काम करता है. हालांकि, इस उदाहरण में हम इंस्टॉल किए गए ऐप्लिकेशन के फ़्लो के बारे में जानेंगे.
- Google API Console पर जाएं और अपने एडमिन प्रोजेक्ट पर जाएं.
- पुष्टि करें कि आपके प्रोजेक्ट के लिए, Ads Data Hub API चालू हो.
- अगर यह चालू नहीं है, तो इसे चालू करने के लिए, + एपीआई और सेवाएं चालू करें पर क्लिक करें.
- बाईं ओर मौजूद नेविगेशन में, क्रेडेंशियल पर क्लिक करें.
- 'क्रेडेंशियल बनाएं' ड्रॉप-डाउन मेन्यू खोलें और OAuth क्लाइंट आईडी चुनें. इस पेज पर:
- 'अन्य' को चुनें.
- ज़रूरी नहीं: क्लाइंट को कोई नाम दें.
- 'बनाएं' पर क्लिक करें.
- आपने अभी जो क्रेडेंशियल बनाया है उसके बगल में मौजूद, डाउनलोड आइकॉन पर क्लिक करें.
अपना एपीआई पासकोड पाना
नीचे दिए गए Python कोड के सैंपल में पुष्टि करने के लिए, आपके एपीआई पासकोड (इसे डेवलपर पासकोड भी कहा जाता है) का इस्तेमाल किया जाता है. अपना एपीआई पासकोड पाने के लिए:
- एपीआई कंसोल के "क्रेडेंशियल" पेज पर जाएं
- पक्का करें कि सबसे ऊपर मौजूद नेविगेशन में, ड्रॉपडाउन में आपका एडमिन प्रोजेक्ट चुना गया हो.
- अपनी एपीआई पासकोड के बगल में मौजूद, डाउनलोड आइकॉन पर क्लिक करें.
सैंपल का अनुरोध भेजना
Python
"""This sample shows how to retrieve all accounts associated with the user. For the program to execute successfully, ensure that you run it using Python 3. """ import json from google_auth_oauthlib import flow from googleapiclient.discovery import build appflow = flow.InstalledAppFlow.from_client_secrets_file( # Replace client_secrets.json with your own client secret file. 'client_secrets.json', scopes=['https://www.googleapis.com/auth/adsdatahub']) appflow.run_local_server() credentials = appflow.credentials developer_key = input('Developer key: ').strip() # For versions of the Google API Python client library prior to 2.0, the # `static_discovery` parameter below should be removed. service = build('AdsDataHub', 'v1', credentials=credentials, developerKey=developer_key, static_discovery=False) def pprint(x): print(json.dumps(x, sort_keys=True, indent=4)) adh_account_id = input('ADH account ID (e.g. "customers/123456789"): ').strip() pprint(service.customers().analysisQueries().list(parent =adh_account_id).execute())
Java
/* * Copyright (c) 2019 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ package com.google.api.services.samples.adsdatahub.cmdline; import com.google.api.services.adsdatahub.v1.AdsDataHub; import com.google.api.services.adsdatahub.v1.model.Customer; import com.google.api.services.adsdatahub.v1.model.ListCustomersResponse; import java.io.IOException; import java.util.List; /** * This sample illustrates how to retrieve all accounts associated to the user. * * <p>See the <a href="customers.list reference * documentation">https://developers.google.com/ads-data-hub/reference/rest/v1/customers/list</a> * for more details. */ public class ListCustomers extends BaseSample { @Override public String getName() { return "List customers"; } @Override public String getDescription() { return "Lists customers associated with the authorized user"; } @Override public void execute(AdsDataHub client) throws IOException { String pageToken = null; boolean noData = true; System.out.println("========================================"); System.out.printf("Listing of customers associated with the authorized user:\n"); System.out.println("========================================"); do { ListCustomersResponse response = client.customers().list().setPageToken(pageToken).execute(); pageToken = response.getNextPageToken(); List<Customer> customers = response.getCustomers(); if (customers != null && customers.size() > 0) { noData = false; for (Customer customer : customers) { System.out.printf("* Customer id: %d\n", customer.getCustomerId()); System.out.printf("\tCustomer name: %s\n", customer.getDisplayName()); } } } while (pageToken != null); if (noData) { System.out.println("No customers were found associated with the authorized user."); } } }
अगले चरण
- Ads Data Hub REST API की मदद से बनाई और चलाई जा सकने वाली क्वेरी के उदाहरणों के लिए, Ads Data Hub में सैंपल क्वेरी देखें.
- एपीआई के बारे में जानने के लिए, सैंपल के बारे में ज़्यादा जानकारी पाएं. साथ ही, अपनी ज़रूरत के हिसाब से इसे पसंद के मुताबिक बनाएं. इसके बाद, ये काम करें:
- पोल क्वेरी के ऑपरेशन की स्थिति.
- क्वेरी के पूरे नतीजे पाने के लिए, BigQuery क्लाइंट लाइब्रेरी का इस्तेमाल करें.
- अगर आपको एपीआई के बारे में कोई सवाल पूछना है या अपनी राय देनी है, तो ADH की सहायता टीम से संपर्क करें.