ในเวิร์กโฟลว์การตรวจสอบสิทธิ์ผู้ใช้หลายคนหนึ่งเครื่อง คุณจะสร้างโฟลว์ OAuth ของคุณเองเพื่อตรวจสอบสิทธิ์ผู้ใช้ โดยมีแอปหลายประเภทที่กล่าวถึงในเอกสารประกอบเกี่ยวกับ Google Identity รวมถึงการกำหนดค่าโปรเจ็กต์ Google Cloud Console ที่คุณต้องใช้เพื่อรองรับแอปประเภทดังกล่าว Google Ads API รองรับแอปทุกประเภท รายละเอียดทางเทคนิคเพิ่มเติมที่ควรทราบมีดังนี้
หากต้องการเข้าถึง Google Ads API คุณควรกำหนดค่าแอปพลิเคชันเพื่อตรวจสอบสิทธิ์สำหรับขอบเขตต่อไปนี้
https://www.googleapis.com/auth/adwordsแอปของคุณอาจต้องเรียก API ในนามของผู้ใช้ขณะที่ผู้ใช้ไม่ได้เชื่อมต่ออินเทอร์เน็ต สถานการณ์ที่พบบ่อยคือการดาวน์โหลดเมตริกบัญชีแบบออฟไลน์เพื่อสร้างรายงานและทำการวิเคราะห์บัญชี ด้วยเหตุนี้ เราจึงแนะนำให้ ขอสิทธิ์เข้าถึงแบบออฟไลน์ของ OAuth
คุณควรทำตามขั้นตอนการตรวจสอบแอป OAuth และรับการรับรองแอป
การกำหนดค่าไลบรารีของไคลเอ็นต์
เมื่อให้สิทธิ์ผู้ใช้และรับข้อมูลเข้าสู่ระบบ OAuth 2.0 แล้ว คุณสามารถกำหนดค่าไลบรารีของไคลเอ็นต์ได้โดยทำตามวิธีการในแท็บที่สอดคล้องกับภาษาโปรแกรมของคุณ
Java
คุณสามารถเริ่มต้นอินสแตนซ์ GoogleAdsClient ได้ในรันไทม์ โดยใช้ข้อมูลเข้าสู่ระบบที่คุณได้รับจากผู้ใช้ซึ่งเป็นเจ้าของบัญชีที่คุณเรียก API
UserCredentials credentials =
UserCredentials.newBuilder()
.setClientId(OAUTH_CLIENT_ID)
.setClientSecret(OAUTH_CLIENT_SECRET)
.setRefreshToken(REFRESH_TOKEN)
.build();
// Creates a GoogleAdsClient with the provided credentials.
GoogleAdsClient client =
GoogleAdsClient.newBuilder()
// Sets the developer token which enables API access.
.setDeveloperToken(DEVELOPER_TOKEN)
// Sets the OAuth credentials which provide Google Ads account access.
.setCredentials(credentials)
// Optional: sets the login customer ID.
.setLoginCustomerId(Long.valueOf(LOGIN_CUSTOMER_ID))
.build();
``` See the [configuration guide][java-config-guide] for additional options.
.NET
คุณสามารถเริ่มต้นอินสแตนซ์ GoogleAdsClient ได้ในรันไทม์ โดยใช้ข้อมูลเข้าสู่ระบบที่คุณได้รับจากผู้ใช้ซึ่งเป็นเจ้าของบัญชีที่คุณเรียก API
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
ดูตัวเลือกเพิ่มเติมได้ในคู่มือการกำหนดค่า
Python
คุณสามารถเริ่มต้นอินสแตนซ์ GoogleAdsClient ได้ในรันไทม์ โดยใช้ข้อมูลเข้าสู่ระบบที่คุณได้รับจากผู้ใช้ซึ่งเป็นเจ้าของบัญชีที่คุณเรียก API
from google.ads.googleads.client import GoogleAdsClient
credentials = {
"developer_token": "INSERT_DEVELOPER_TOKEN_HERE",
"login_customer_id": "INSERT_LOGIN_CUSTOMER_ID_HERE",
"refresh_token": "REFRESH_TOKEN",
"client_id": "OAUTH_CLIENT_ID",
"client_secret": "OAUTH_CLIENT_SECRET"}
client = GoogleAdsClient.load_from_dict(credentials)
ดูตัวเลือกเพิ่มเติมได้ในคู่มือการกำหนดค่า
PHP
คุณสามารถเริ่มต้นอินสแตนซ์ GoogleAdsClient ได้ในรันไทม์ โดยใช้ข้อมูลเข้าสู่ระบบที่คุณได้รับจากผู้ใช้ซึ่งเป็นเจ้าของบัญชีที่คุณเรียก API
$oAuth2Credential = (new OAuth2TokenBuilder())
->withClientId('INSERT_CLIENT_ID_HERE')
->withClientSecret('INSERT_CLIENT_SECRET_HERE')
->withRefreshToken('INSERT_REFRESH_TOKEN_HERE')
->build();
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential($oAuth2Credential)
->withDeveloperToken('INSERT_DEVELOPER_TOKEN_HERE')
->withLoginCustomerId('INSERT_LOGIN_CUSTOMER_ID_HERE')
->build();
ดูตัวเลือกเพิ่มเติมได้ในคู่มือการกำหนดค่า
Ruby
คุณสามารถเริ่มต้นอินสแตนซ์ GoogleAdsClient ได้ในรันไทม์ โดยใช้ข้อมูลเข้าสู่ระบบที่คุณได้รับจากผู้ใช้ซึ่งเป็นเจ้าของบัญชีที่คุณเรียก API
client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
config.client_id = 'INSERT_CLIENT_ID_HERE'
config.client_secret = 'INSERT_CLIENT_SECRET_HERE'
config.refresh_token = 'INSERT_REFRESH_TOKEN_HERE'
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
config.developer_token = 'INSERT_DEVELOPER_TOKEN_HERE'
end
ดูตัวเลือกเพิ่มเติมได้ในคู่มือการกำหนดค่า
Perl
คุณสามารถเริ่มต้นอินสแตนซ์ GoogleAdsClient ได้ในรันไทม์ โดยใช้ข้อมูลเข้าสู่ระบบที่คุณได้รับจากผู้ใช้ซึ่งเป็นเจ้าของบัญชีที่คุณเรียก API
my $api_client = Google::Ads::GoogleAds::Client->new({
developer_token => "INSERT_DEVELOPER_TOKEN_HERE",
login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE"
});
my $oauth2_applications_handler = $api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN");
ดูตัวเลือกเพิ่มเติมได้ในคู่มือการกำหนดค่า
curl
เริ่มต้นด้วยการใช้ไคลเอ็นต์ HTTP เพื่อดึงโทเค็นเพื่อการเข้าถึง OAuth 2.0 คู่มือนี้ใช้คำสั่ง curl
curl \
--data "grant_type=refresh_token" \
--data "client_id=CLIENT_ID" \
--data "client_secret=CLIENT_SECRET" \
--data "refresh_token=REFRESH_TOKEN" \
https://www.googleapis.com/oauth2/v3/tokenตอนนี้คุณสามารถใช้โทเค็นเพื่อการเข้าถึงในการเรียก API ได้แล้ว ตัวอย่างต่อไปนี้
แสดงวิธีเรียกใช้รายงานแคมเปญโดยใช้
GoogleAdsService.SearchStream เพื่อดึง
แคมเปญในบัญชี คู่มือนี้ไม่ได้กล่าวถึงรายละเอียดของ
การรายงาน
curl -i -X POST https://googleads.googleapis.com/v24/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "developer-token: DEVELOPER_TOKEN" \
-H "login-customer-id: LOGIN_CUSTOMER_ID" \
--data-binary "@query.json"เนื้อหาของ query.json มีดังนี้
{
"query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}