為遵循新出現的法規,Google 現在會要求廣告客戶完成一或多項驗證計畫,為使用者提供安全可靠的廣告生態系統。
如果您必須完成驗證計畫,系統可能會設定驗證程序的期限。如果超過期限未完成驗證,您的帳戶可能處於暫停狀態。
您也可以主動進行驗證,而不需要另行驗證。IdentityVerificationService
提供可執行以下操作的方法:
- 擷取客戶帳戶的驗證程序狀態,包括所有期限
- 開始驗證程序
擷取驗證狀態
如要擷取客戶帳戶的廣告主身分驗證程序狀態,請呼叫 GetIdentityVerification
方法:
Java
This example is not yet available in Java; you can take a look at the other languages.
C#
private static IdentityVerification GetIdentityVerification( GoogleAdsClient client, long customerId) { IdentityVerificationServiceClient identityVerificationService = client.GetService(Services.V17.IdentityVerificationService); try { GetIdentityVerificationResponse response = identityVerificationService.GetIdentityVerification( new GetIdentityVerificationRequest() { CustomerId = customerId.ToString() } ); if (response.IdentityVerification.Count == 0) { return null; } IdentityVerification identityVerification = response.IdentityVerification[0]; string deadline = identityVerification.IdentityVerificationRequirement.VerificationCompletionDeadlineTime; IdentityVerificationProgress identityVerificationProgress = identityVerification.VerificationProgress; Console.WriteLine($"Account {customerId} has a verification completion " + $"deadline of {deadline} and status " + $"{identityVerificationProgress.ProgramStatus} for advertiser identity " + "verification."); return identityVerification; } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
This example is not yet available in PHP; you can take a look at the other languages.
Python
This example is not yet available in Python; you can take a look at the other languages.
Ruby
def get_identity_verification(client, customer_id) response = client.service.identity_verification.get_identity_verification( customer_id: customer_id ) return nil if response.nil? || response.identity_verification.empty? identity_verification = response.identity_verification.first deadline = identity_verification. identity_verification_requirement. verification_completion_deadline_time progress = identity_verification.verification_progress puts "Account #{customer_id} has a verification completion deadline " \ "of #{deadline} and status #{progress.program_status} for advertiser " \ "identity verification." identity_verification end
Perl
sub get_identity_verification { my ($api_client, $customer_id) = @_; my $response = $api_client->IdentityVerificationService()->get({ customerId => $customer_id }); if (!defined $response->{identityVerification}) { printf "Account %s does not require advertiser identity verification.", $customer_id; return; } my $identity_verification = $response->{identityVerification}[0]; my $deadline = $identity_verification->{identityVerificationRequirement} {verificationCompletionDeadlineTime}; my $identity_verification_progress = $identity_verification->{verificationProgress}; printf "Account %s has a verification completion deadline of %s and status " . "%s for advertiser identity verification.", $customer_id, $deadline, $identity_verification_progress->{programStatus}; return $identity_verification; }
如果客戶帳戶已註冊必要的廣告客戶身分驗證計畫,服務會傳回包含 IdentityVerification
物件清單的非空白回應。空白回應表示客戶帳戶不需要進行廣告客戶身分驗證。
自 16 版起,Google Ads API 僅支援 ADVERTISER_IDENTITY_VERIFICATION
計畫,因此會是清單中的唯一項目。
IdentityVerification
物件包含下列屬性:
IdentityVerificationRequirement
用於說明驗證程序的開始和完成期限說明驗證程序目前狀態的
IdentityVerificationProgress
:也可以包含動作網址,方便使用者完成驗證程序。
開始驗證程序
如果客戶帳戶已註冊必要的廣告客戶身分驗證計畫 - GetIdentityVerification
傳回的非空白回應含有驗證程序完成期限,您可以呼叫 StartIdentityVerification
來啟動驗證工作階段:
Java
This example is not yet available in Java; you can take a look at the other languages.
C#
private static void StartIdentityVerification(GoogleAdsClient client, long customerId) { IdentityVerificationServiceClient identityVerificationService = client.GetService(Services.V17.IdentityVerificationService); StartIdentityVerificationRequest request = new StartIdentityVerificationRequest() { CustomerId = customerId.ToString(), VerificationProgram = IdentityVerificationProgram.AdvertiserIdentityVerification }; try { identityVerificationService.StartIdentityVerification(request); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
This example is not yet available in PHP; you can take a look at the other languages.
Python
This example is not yet available in Python; you can take a look at the other languages.
Ruby
def start_identity_verification(client, customer_id) client.service.identity_verification.start_identity_verification( customer_id: customer_id, verification_program: :ADVERTISER_IDENTITY_VERIFICATION, ) end
Perl
sub start_identity_verification { my ($api_client, $customer_id) = @_; my $request = Google::Ads::GoogleAds::V17::Services::IdentityVerificationService::StartIdentityVerificationRequest ->new({ customerId => $customer_id, verificationProgram => ADVERTISER_IDENTITY_VERIFICATION }); $api_client->AdvertiserIdentityVerificationService() ->start_identity_verification($request); }
只有在未進行其他驗證工作階段的情況下,這種做法才會成功。啟動驗證工作階段之後,對 GetIdentityVerification
的後續呼叫會傳回使用者的動作網址,以便使用者完成驗證程序,以及動作網址的到期時間。
到期時間過後,您可以再次呼叫 StartIdentityVerification
以啟動新的驗證工作階段。