建立 Business Messages 之後 代理程式 品牌,方便你管理及確認服務專員的資訊 和任何相關聯的位置你必須先驗證服務專員和地點 他們可以 launch。
服務專員驗證
驗證服務專員後,Business Messages 會確認服務專員的資訊 與服務專員代表的品牌聯絡人展開對話品牌聯絡後 確認您能與服務專員代表品牌,以及服務專員 資訊正確無誤,代表代理程式已通過驗證。
預先驗證檢查清單
驗證服務專員前,請使用下列檢查清單找出問題 可能會出現在驗證程序中可能出現的廣告
| 服務專員資訊 |
|---|
|
虛擬服務專員名稱
必要。代理程式向使用者顯示的名稱。詳情請見 建立代理程式。 |
|
服務專員標誌
必要。代理程式向使用者顯示的標誌。詳情請見 建立代理程式。 |
|
訊息功能適用情形
必要。真人服務專員可提供服務的日期和時間 以及回應使用者的需求詳情請見 設定訊息功能適用情形。 |
| 非在地資訊 |
|
預設語言代碼
必要。代理程式通常會使用的語言代碼。詳情請見 本地化和語言代碼。 |
|
OAuth 設定
選用。有關代理程式與其他產品的 OAuth 整合的詳細資料。詳情請見 使用 OAuth 進行驗證。 |
|
允許的進入點
必要。僅用於檢查您是否與商家建立代理程式 通訊 API。詳情請見 建立代理程式。 |
驗證服務專員後,你只能更新下列項目:
conversationalSettingscustomAgentIddefaultLocaleprimaryAgentInteractionadditionalAgentInteractionsphone
如果您在驗證代理程式後需要更新唯讀欄位, 請與我們聯絡。(您必須先簽署 登入 Business Messages Google 帳戶。如要註冊帳戶,請參閱 向商家註冊 訊息)。
必要條件
你必須收集一些資訊,才能驗證服務專員:
服務專員
name如果您不知道服務專員的名稱,請參閱列出代理程式的所有代理程式 品牌。
開發機器上 GCP 專案服務帳戶金鑰的路徑
- 合作夥伴名稱 (貴機構名稱)
- 合作夥伴電子郵件地址 (您的電子郵件)
- 代理商代表品牌的網站,以公開網址的形式顯示 開頭為「https://」
- 的聯絡人名稱和電子郵件地址 (通常會與品牌網站共用網域) 代表誰能驗證你的商家關係 您有權代表該品牌
驗證服務專員
為服務專員申請驗證時,Business Messages 會傳送電子郵件給該品牌 確認服務專員的資訊
品牌聯絡人驗證你的服務專員資訊和 Business Messages 驗證服務專員後,你會收到電子郵件。
如要驗證代理程式,請執行下列指令。將變數替換為值 已按照先決條件中確認。
cURL
# This code requests a verification of a Business Messages agent.
# Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/verify?method=api#verify_an_agent
# Replace the __BRAND_ID__ and __AGENT_ID__
# Make sure a service account key file exists at ./service_account_key.json
curl -X POST \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__:requestVerification" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
"agentVerificationContact": {
"partnerName": "Partner name",
"partnerEmailAddress": "partner@email.com",
"brandContactName": "Brand contact name",
"brandContactEmailAddress": "brand-contact@email.com",
"brandWebsiteUrl": "https://www.your-company-website.com"
}
}'
Node.js
/**
* This code snippet requests an agent verification.
* Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/verify?method=api#verify_an_agent
*
* This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
* Business Communications client library.
*/
/**
* Edit the values below:
*/
const BRAND_ID = 'EDIT_HERE';
const AGENT_ID = 'EDIT_HERE';
const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});
// Set the scope that we need for the Business Communications API
const scopes = [
'https://www.googleapis.com/auth/businesscommunications',
];
// Set the private key to the service account file
const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);
async function main() {
const authClient = await initCredentials();
const agentName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID;
if (authClient) {
const agentVerificationContact = {
agentVerificationContact: {
partnerName: 'Partner name',
partnerEmailAddress: 'partner@email.com',
brandContactName: 'Brand contact name',
brandContactEmailAddress: 'brand-contact@email.com',
brandWebsiteUrl: 'https://www.your-company-website.com',
},
};
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName,
resource: agentVerificationContact,
};
bcApi.brands.agents.requestVerification(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
const authClient = new google.auth.JWT(
privatekey.client_email,
null,
privatekey.private_key,
scopes,
);
return new Promise(function(resolve, reject) {
// Authenticate request
authClient.authorize(function(err, tokens) {
if (err) {
reject(false);
} else {
resolve(authClient);
}
});
});
}
main();
Java
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID";
BusinessCommunications.Brands.Agents.RequestVerification request
= builder.build().brands().agents().requestVerification(agentName,
new RequestAgentVerificationRequest().setAgentVerificationContact(
new AgentVerificationContact()
.setPartnerName("PARTNER_NAME")
.setPartnerEmailAddress("PARTNER_EMAIL")
.setBrandContactName("BRAND_CONTACT_NAME")
.setBrandContactEmailAddress("BRAND_CONTACT_EMAIL")
.setBrandWebsiteUrl("BRAND_WEBSITE_URL")));
System.out.println(request.execute().toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
這個程式碼是根據
Java 企業
通訊用戶端程式庫。Python
"""This code requests a verification of a Business Messages agent.
Read more: https://developers.google.com/business-communications/business-messages/guides/how-to/verify?method=api#verify_an_agent
This code is based on the https://github.com/google-business-communications/python-businessmessages
Python Business Messages client library.
"""
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
from businesscommunications.businesscommunications_v1_messages import (
BusinesscommunicationsBrandsAgentsRequestVerificationRequest,
RequestAgentVerificationRequest,
AgentVerificationContact
)
# Edit the values below:
BRAND_ID = 'EDIT_HERE'
AGENT_ID = 'EDIT_HERE'
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = './service_account_key.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID
verification_request = agents_service.RequestVerification(BusinesscommunicationsBrandsAgentsRequestVerificationRequest(
name=agent_name,
requestAgentVerificationRequest=RequestAgentVerificationRequest(
agentVerificationContact=AgentVerificationContact(
partnerName='Partner name',
partnerEmailAddress='partner@email.com',
brandContactName='Brand contact name',
brandContactEmailAddress='brand-contact@email.com',
brandWebsiteUrl='https://www.your-company-website.com'
))
))
print(verification_request)
如需格式設定和值選項,請參閱:
brands.agents.requestVerification。
取得服務專員的驗證狀態
提出服務專員驗證要求後,你可以查看服務專員的 驗證狀態
如要取得代理程式的驗證狀態,請執行下列指令。將 產生可在 必要條件。
cURL
# This code gets the agent verification state. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/getVerification # Replace the __BRAND_ID__ and __AGENT_ID__ # Make sure a service account key file exists at ./service_account_key.json curl -X GET \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/verification" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
Node.js
/**
* This code snippet gets an agent verification state.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/getVerification
*
* This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
* Business Communications client library.
*/
/**
* Edit the values below:
*/
const BRAND_ID = 'EDIT_HERE';
const AGENT_ID = 'EDIT_HERE';
const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});
// Set the scope that we need for the Business Communications API
const scopes = [
'https://www.googleapis.com/auth/businesscommunications',
];
// Set the private key to the service account file
const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);
async function main() {
const authClient = await initCredentials();
const agentName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID;
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName + '/verification',
};
bcApi.brands.agents.getVerification(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
const authClient = new google.auth.JWT(
privatekey.client_email,
null,
privatekey.private_key,
scopes,
);
return new Promise(function(resolve, reject) {
// Authenticate request
authClient.authorize(function(err, tokens) {
if (err) {
reject(false);
} else {
resolve(authClient);
}
});
});
}
main();
Java
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID/verification";
BusinessCommunications.Brands.Agents.GetVerification request
= builder.build().brands().agents().getVerification(agentName);
System.out.println(request.execute().toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
這個程式碼是根據
Java 企業
通訊用戶端程式庫。Python
"""This code gets the agent verification state.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/getVerification
This code is based on the https://github.com/google-business-communications/python-businessmessages
Python Business Messages client library.
"""
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
from businesscommunications.businesscommunications_v1_messages import (
BusinesscommunicationsBrandsAgentsGetVerificationRequest,
)
# Edit the values below:
BRAND_ID = 'EDIT_HERE'
AGENT_ID = 'EDIT_HERE'
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = './service_account_key.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/verification'
verification_state = agents_service.GetVerification(BusinesscommunicationsBrandsAgentsGetVerificationRequest(
name=agent_name
))
print(verification_state)
如需格式設定和值選項,請參閱:
brands.agents.getVerification。
取消服務專員驗證要求
如果發現服務專員的資訊有誤,或是服務專員提供的資訊 尚未準備好進行驗證,您可以取消待處理的驗證要求。如果 如果你取消要求,Business Messages 就會通知品牌聯絡人,你 必須提出新的驗證要求,才能重新開始驗證程序。
如要取消代理程式驗證要求,請執行下列指令。將 產生可在 必要條件。
cURL
# This code updates the verification state of an agent.
# Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/updateVerification
# Replace the __BRAND_ID__ and __AGENT_ID__
# Make sure a service account key file exists at ./service_account_key.json
curl -X PATCH \
"https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/agents/__AGENT_ID__/verification" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/business-communications" \
-H "$(oauth2l header --json ./service_account_key.json businesscommunications)" \
-d '{
"verificationState": "VERIFICATION_STATE_UNVERIFIED"
}'
Node.js
/**
* This code snippet updates the state of an agent verification.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/updateVerification
*
* This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
* Business Communications client library.
*/
/**
* Edit the values below:
*/
const BRAND_ID = 'EDIT_HERE';
const AGENT_ID = 'EDIT_HERE';
const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});
// Set the scope that we need for the Business Communications API
const scopes = [
'https://www.googleapis.com/auth/businesscommunications',
];
// Set the private key to the service account file
const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);
async function main() {
const authClient = await initCredentials();
const agentName = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID;
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: agentName + '/verification',
updateMask: 'verificationState',
resource: {
name: agentName,
verificationState: 'VERIFICATION_STATE_UNVERIFIED',
}
};
bcApi.brands.agents.updateVerification(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
const authClient = new google.auth.JWT(
privatekey.client_email,
null,
privatekey.private_key,
scopes,
);
return new Promise(function(resolve, reject) {
// Authenticate request
authClient.authorize(function(err, tokens) {
if (err) {
reject(false);
} else {
resolve(authClient);
}
});
});
}
main();
Java
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String agentName = "brands/BRAND_ID/agents/AGENT_ID/verification";
BusinessCommunications.Brands.Agents.UpdateVerification request
= builder.build().brands().agents().updateVerification(agentName,
new AgentVerification().setVerificationState("VERIFICATION_STATE_UNVERIFIED"));
System.out.println(request.execute().toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
這個程式碼是根據
Java 企業
通訊用戶端程式庫。Python
"""This code updates the verification state of an agent.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.agents/updateVerification
This code is based on the https://github.com/google-business-communications/python-businessmessages
Python Business Messages client library.
"""
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
from businesscommunications.businesscommunications_v1_messages import (
AgentVerification,
BusinesscommunicationsBrandsAgentsUpdateVerificationRequest,
)
# Edit the values below:
BRAND_ID = 'EDIT_HERE'
AGENT_ID = 'EDIT_HERE'
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = './service_account_key.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
agents_service = BusinesscommunicationsV1.BrandsAgentsService(client)
agent_name = 'brands/' + BRAND_ID + '/agents/' + AGENT_ID + '/verification'
update_request = agents_service.UpdateVerification(
BusinesscommunicationsBrandsAgentsUpdateVerificationRequest(
name=agent_name,
updateMask='verificationState',
agentVerification=AgentVerification(verificationState=AgentVerification.VerificationStateValueValuesEnum.VERIFICATION_STATE_UNVERIFIED)
)
)
print(update_request)
如需格式設定和值選項,請參閱:
brands.agents.updateVerification。
地點驗證
驗證服務專員後,你就能驗證與該服務專員相關聯的地點。 地點驗證完成並啟動相關聯的服務專員後,你就可以發布 要在哪個位置與代理程式搭配使用
如果品牌是連鎖品牌的一員,請務必加入該連鎖店的所有營業地點, 您有權啟用訊息功能。如要驗證您新增的所有地點, 只要求驗證一個營業地點。我們驗證完位置後 系統會自動驗證先前新增的其他相關地點。
驗證完成後,如果您新增其他地點,請 重新驗證地點。如果有任何地點沒有自動驗證 拜託 與我們聯絡: 商家及地點的詳細資訊。
預先驗證檢查清單
驗證營業地點前,請使用下列檢查清單找出問題 可能會出現在驗證程序中可能出現的廣告
| 服務專員資訊 |
|---|
|
服務專員驗證
必要。驗證服務專員資訊是否正確 以及服務專員可代表相關品牌詳情請見 驗證服務專員和位置。 |
| 位置資訊 |
|---|
|
地點 ID
必要。Google 搜尋中某個地點的專屬 ID 地點資料庫和 Google 地圖。詳情請見 管理營業地點。 |
|
允許的進入點
必要。僅用於檢查您建立代理程式時是否使用 Business Communications API。詳情請見 管理營業地點。 |
必要條件
你必須收集一些資訊,才能驗證服務專員:
位置:
name如果您不知道服務專員的名稱,請參閱列出 品牌。
開發機器上 GCP 專案服務帳戶金鑰的路徑
驗證地點
要求驗證營業地點時,Business Messages 會確認 地點與相關服務專員代表的品牌相符。您收到 傳送電子郵件時。
地點驗證完成後,就無法修改。更新方式 地點通過驗證後 請與我們聯絡。(您必須先簽署 登入 Business Messages Google 帳戶。如要註冊帳戶,請參閱 向商家註冊 訊息)。
如要驗證位置,請執行下列指令。將變數替換為值 已按照先決條件中確認。
cURL
# This code requests a verification of a location. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/requestVerification # Replace the __BRAND_ID__ and __LOCATION_ID__ # Make sure a service account key file exists at ./service_account_key.json curl -X POST \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/locations/__LOCATION_ID__:requestVerification" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
Node.js
/**
* This code snippet requests a verification for a location.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/requestVerification
*
* This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
* Business Communications client library.
*/
/**
* Edit the values below:
*/
const BRAND_ID = 'EDIT_HERE';
const LOCATION_ID = 'EDIT_HERE';
const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});
// Set the scope that we need for the Business Communications API
const scopes = [
'https://www.googleapis.com/auth/businesscommunications',
];
// Set the private key to the service account file
const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);
async function main() {
const authClient = await initCredentials();
const locationName = 'brands/' + BRAND_ID + '/locations/' + LOCATION_ID;
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: locationName,
};
bcApi.brands.locations.requestVerification(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
const authClient = new google.auth.JWT(
privatekey.client_email,
null,
privatekey.private_key,
scopes,
);
return new Promise(function(resolve, reject) {
// Authenticate request
authClient.authorize(function(err, tokens) {
if (err) {
reject(false);
} else {
resolve(authClient);
}
});
});
}
main();
Java
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String locationName = "brands/BRAND_ID/locations/LOCATION_ID/verification";
BusinessCommunications.Brands.Locations.RequestVerification request
= builder.build().brands().locations().requestVerification(locationName,
new RequestLocationVerificationRequest());
System.out.println(request.execute().toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
這個程式碼是根據
Java 企業
通訊用戶端程式庫。Python
"""This code requests a verification of a location.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/requestVerification
This code is based on the https://github.com/google-business-communications/python-businessmessages
Python Business Messages client library.
"""
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
from businesscommunications.businesscommunications_v1_messages import (
BusinesscommunicationsBrandsLocationsRequestVerificationRequest,
RequestLocationVerificationRequest
)
# Edit the values below:
BRAND_ID = 'EDIT_HERE'
LOCATION_ID = 'EDIT_HERE'
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = './service_account_key.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
locations_service = BusinesscommunicationsV1.BrandsLocationsService(client)
location_name = 'brands/' + BRAND_ID + '/locations/' + LOCATION_ID
verification_request = locations_service.RequestVerification(BusinesscommunicationsBrandsLocationsRequestVerificationRequest(
name=location_name,
requestLocationVerificationRequest=RequestLocationVerificationRequest()
))
print(verification_request)
如需格式設定和值選項,請參閱:
brands.locations.requestVerification。
取得地點驗證狀態
提出位置驗證要求後,即可查看該地點的 驗證狀態
如要取得營業地點的驗證狀態,請執行下列指令。將 產生可在 必要條件。
cURL
# This code gets the verification state of a location. # Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/getVerification # Replace the __BRAND_ID__ and __LOCATION_ID__ # Make sure a service account key file exists at ./service_account_key.json curl -X GET \ "https://businesscommunications.googleapis.com/v1/brands/__BRAND_ID__/locations/__LOCATION_ID__/verification" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/business-communications" \ -H "$(oauth2l header --json ./service_account_key.json businesscommunications)"
Node.js
/**
* This code snippet gets the verification state of a location.
* Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/getVerification?hl=en
*
* This code is based on the https://github.com/google-business-communications/nodejs-businesscommunications Node.js
* Business Communications client library.
*/
/**
* Edit the values below:
*/
const BRAND_ID = 'EDIT_HERE';
const LOCATION_ID = 'EDIT_HERE';
const PATH_TO_SERVICE_ACCOUNT_KEY = './service_account_key.json';
const businesscommunications = require('businesscommunications');
const {google} = require('googleapis');
// Initialize the Business Communications API
const bcApi = new businesscommunications.businesscommunications_v1.Businesscommunications({});
// Set the scope that we need for the Business Communications API
const scopes = [
'https://www.googleapis.com/auth/businesscommunications',
];
// Set the private key to the service account file
const privatekey = require(PATH_TO_SERVICE_ACCOUNT_KEY);
async function main() {
const authClient = await initCredentials();
const locationName = 'brands/' + BRAND_ID + '/locations/' + LOCATION_ID;
if (authClient) {
// Setup the parameters for the API call
const apiParams = {
auth: authClient,
name: locationName + '/verification',
};
bcApi.brands.locations.getVerification(apiParams, {}, (err, response) => {
if (err !== undefined && err !== null) {
console.dir(err);
} else {
// Agent found
console.log(response.data);
}
});
}
else {
console.log('Authentication failure.');
}
}
/**
* Initializes the Google credentials for calling the
* Business Messages API.
*/
async function initCredentials() {
// Configure a JWT auth client
const authClient = new google.auth.JWT(
privatekey.client_email,
null,
privatekey.private_key,
scopes,
);
return new Promise(function(resolve, reject) {
// Authenticate request
authClient.authorize(function(err, tokens) {
if (err) {
reject(false);
} else {
resolve(authClient);
}
});
});
}
main();
Java
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.businesscommunications.v1.BusinessCommunications;
import com.google.api.services.businesscommunications.v1.model.Agent;
import java.io.FileInputStream;
import java.util.Arrays;
class Main {
/**
* Initializes credentials used by the Business Communications API.
*/
private static BusinessCommunications.Builder getBusinessCommunicationsBuilder() {
BusinessCommunications.Builder builder = null;
try {
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("PATH_TO_SERVICE_ACCOUNT_KEY"));
credential = credential.createScoped(Arrays.asList(
"https://www.googleapis.com/auth/businesscommunications"));
credential.refreshToken();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// Create instance of the Business Communications API
builder = new BusinessCommunications
.Builder(httpTransport, jsonFactory, null)
.setApplicationName(credential.getServiceAccountProjectId());
// Set the API credentials and endpoint
builder.setHttpRequestInitializer(credential);
} catch (Exception e) {
e.printStackTrace();
}
return builder;
}
public static void main(String args[]) {
try {
// Create client library reference
BusinessCommunications.Builder builder = getBusinessCommunicationsBuilder();
String locationName = "brands/BRAND_ID/locations/LOCATION_ID/verification";
BusinessCommunications.Brands.Locations.GetVerification request
= builder.build().brands().locations().getVerification(locationName);
System.out.println(request.execute().toPrettyString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
這個程式碼是根據
Java 企業
通訊用戶端程式庫。Python
"""This code gets the verification state of a location.
Read more: https://developers.google.com/business-communications/business-messages/reference/business-communications/rest/v1/brands.locations/getVerification
This code is based on the https://github.com/google-business-communications/python-businessmessages
Python Business Messages client library.
"""
from oauth2client.service_account import ServiceAccountCredentials
from businesscommunications.businesscommunications_v1_client import BusinesscommunicationsV1
from businesscommunications.businesscommunications_v1_messages import (
BusinesscommunicationsBrandsLocationsGetVerificationRequest,
)
# Edit the values below:
BRAND_ID = 'EDIT_HERE'
LOCATION_ID = 'EDIT_HERE'
SCOPES = ['https://www.googleapis.com/auth/businesscommunications']
SERVICE_ACCOUNT_FILE = './service_account_key.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
client = BusinesscommunicationsV1(credentials=credentials)
locations_service = BusinesscommunicationsV1.BrandsLocationsService(client)
location_name = 'brands/' + BRAND_ID + '/locations/' + LOCATION_ID + '/verification'
verification_state = locations_service.GetVerification(BusinesscommunicationsBrandsLocationsGetVerificationRequest(
name=location_name
))
print(verification_state)
如需格式設定和值選項,請參閱:
brands.locations.getVerification。
後續步驟
服務專員與任何相關地點都通過驗證後,即可開始使用 發布 方便使用者溝通