Tiêu đề phản hồi và yêu cầu XML SOAP

Trang này cung cấp thông tin về những tiêu đề bắt buộc của yêu cầu XML SOAP và những tiêu đề được trả về trong phản hồi.

Tiêu đề bắt buộc của yêu cầu

Tất cả lệnh gọi API SOAP phải có phần tử <RequestHeader> trong tiêu đề; phần tử này được xác định trong mọi WSDL dịch vụ. Thư viện ứng dụng cung cấp các phương thức để thêm tiêu đề này cho bạn bằng cách sử dụng các giá trị mà bạn cung cấp. Dưới đây là nội dung mô tả tất cả phần tử của <RequestHeader>:

Phần tử Nội dung mô tả
<networkCode>

Mã mạng của mạng đang được xử lý. Bắt buộc phải có mã mạng khi thực hiện tất cả các yêu cầu, ngoại trừ NetworkService.getAllNetworks()NetworkService.makeTestNetwork().

Hãy đảm bảo rằng bạn chỉ sử dụng mã mạng có sẵn để đăng nhập tài khoản. Bạn có thể tìm thấy mã này trên trang web Google Ad Manager cho tài khoản của bạn, trên trang Quản trị > Cài đặt mạng bên cạnh "Mã mạng".

<applicationName> Tên chuỗi tuỳ ý xác định ứng dụng của bạn. Thông tin này sẽ hiển thị trong tệp nhật ký của Google. Ví dụ: "Ứng dụng khoảng không quảng cáo của tôi" hoặc "App_1".

Lưu ý: Mọi yêu cầu mà ứng dụng của bạn gửi đến API Ad Manager đều phải bao gồm mã truy cập OAuth2. Truyền mã thông báo vào tiêu đề HTTP dưới dạng: Authorization: Bearer YOUR_ACCESS_TOKEN.

Yêu cầu mẫu

Mã sau đây là ví dụ về lệnh gọi yêu cầu SOAP đến getAdUnitsByStatement() để tìm AdUnit gốc.

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
        xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Header>
    <ns1:RequestHeader
         soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
         soapenv:mustUnderstand="0"
         xmlns:ns1="https://www.google.com/apis/ads/publisher/v202402">
      <ns1:networkCode>123456</ns1:networkCode>
      <ns1:applicationName>DfpApi-Java-2.1.0-dfp_test</ns1:applicationName>
    </ns1:RequestHeader>
  </soapenv:Header>
  <soapenv:Body>
    <getAdUnitsByStatement xmlns="https://www.google.com/apis/ads/publisher/v202402">
      <filterStatement>
        <query>WHERE parentId IS NULL LIMIT 500</query>
      </filterStatement>
    </getAdUnitsByStatement>
  </soapenv:Body>
</soapenv:Envelope>

Lưu ý: Nếu yêu cầu SOAP gây ra Unmarshalling error, hãy xem phần Các lỗi thường gặp để biết các mẹo khắc phục sự cố.

Tiêu đề phản hồi

Tất cả phản hồi mà API trả về đều có các phần tử tiêu đề sau. Tốt nhất là bạn nên ghi nhật ký các giá trị này.

Phần tử Nội dung mô tả
<requestId> Xác định duy nhất yêu cầu này. Nếu bạn gặp vấn đề cần hỗ trợ, hãy gửi cho chúng tôi mã này để chúng tôi dễ dàng tìm thấy yêu cầu của bạn hơn.
<responseTime> Thời gian đã trôi qua giữa thời điểm dịch vụ web nhận được yêu cầu và gửi phản hồi.

Câu trả lời mẫu

Đoạn mã sau đây cho thấy ví dụ về một phản hồi SOAP cho yêu cầu trước đó.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <ResponseHeader xmlns="https://www.google.com/apis/ads/publisher/v202402">
      <requestId>xxxxxxxxxxxxxxxxxxxx</requestId>
      <responseTime>1063</responseTime>
    </ResponseHeader>
  </soap:Header>
  <soap:Body>
    <getAdUnitsByStatementResponse xmlns="https://www.google.com/apis/ads/publisher/v202402">
      <rval>
        <totalResultSetSize>1</totalResultSetSize>
        <startIndex>0</startIndex>
        <results>
          <id>2372</id>
          <name>RootAdUnit</name>
          <description></description>
          <targetWindow>TOP</targetWindow>
          <status>ACTIVE</status>
          <adUnitCode>1002372</adUnitCode>
          <inheritedAdSenseSettings>
            <value>
              <adSenseEnabled>true</adSenseEnabled>
              <borderColor>FFFFFF</borderColor>
              <titleColor>0000FF</titleColor>
              <backgroundColor>FFFFFF</backgroundColor>
              <textColor>000000</textColor>
              <urlColor>008000</urlColor>
              <adType>TEXT_AND_IMAGE</adType>
              <borderStyle>DEFAULT</borderStyle>
              <fontFamily>DEFAULT</fontFamily>
              <fontSize>DEFAULT</fontSize>
            </value>
          </inheritedAdSenseSettings>
        </results>
      </rval>
    </getAdUnitsByStatementResponse>
  </soap:Body>
</soap:Envelope>