概要
サーバーサイド広告のデバッグに役立つように、SSAI を使用した動的配信では、広告呼び出しを追跡する API エンドポイントが用意されています。
Video Cloud に保存されている動画コンテンツを使用してサーバーサイド広告をデバッグするには、次の手順に従います。
一般的な情報
以下の情報は、すべての SSAI API リクエストに関連します。
ベース URL
SSAI API のベース URL は次のとおりです。
https://ssai.api.brightcove.com/v1
アカウントパス
いずれの場合も、特定の Video Cloud アカウントに対してリクエストが行われます。したがって、ベース URL には常に、アカウント ID accounts
に続く語句を追加します。
https://ssai.api.brightcove.com/v1/accounts/your account id
認可
API リクエストには、認証ヘッダーが必要です。
Authorization: Bearer your access token
access_token
は、Brightcove OAuth サービスから取得する必要がある一時的な OAuth2 アクセストークンです。クライアント資格情報を取得し、アクセストークンを取得する方法の詳細については、ブライトコーブ OAuth の概要を参照してください。
オペレーション
クライアントの資格情報を要求するときは、必要なアカウントアクセスの種類または操作を指定する必要があります。以下は、SSAI API に対して現在サポートされている操作の一覧です。
- SSAI データ:
video-cloud/ssai/read
video-cloud/ssai/all
広告設定のトレースを実行する
広告設定のトレースを実行するには、次の手順に従います。
情報を収集する
API リクエストの本文について次の情報を収集します。
[パラメータ] | タイプ | 説明 |
---|---|---|
account_id |
ストリング | ユーザーアカウント ID |
playback_config |
オブジェクト | フィールドは、SSAI API ドキュメントの「設定フィールド詳細」セクションで定義されます。 |
title_metadata |
オブジェクト | 正しい広告レスポンスを生成するために、コンテンツの長さをシステムに伝えます。 たとえば、次のように、コンテンツの長さが1分であることをシステムに通知します。これは、それに応じて広告を挿入するために使用されます。
|
videocloud_metadata |
オブジェクト | 任意。 メタデータフィールドを参照するテンプレート変数を使用している場合にのみ必要です。これらは SSAI API ドキュメントの「広告変数」セクションで定義されています。 |
リクエスト
SSAI 広告設定のトレースを作成します。
方法 | 役職 |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/ {account_id} /ssai_debug_vmap/debug.xml |
ヘッダー | 認証:ベアラaccess_token ( アクセストークンの取得を参照 ) |
コンテンツタイプ:アプリケーション/json | |
サンプルボディ |
|
応答
レスポンスは、VAST body
または広告サーバーと同等のレスポンスを含む広告サーバー応答で構成されます。
レスポンスの例:
<?xml version="1.0" encoding="UTF-8" ?>
<vmap:VMAP xmlns:bc="bc" xmlns:vmap="http://www.iab.net/vmap-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
<vmap:Extensions>
<bc:Brightcove ttl="1800" contenturi="https://ssaiplayback.us-east-1.prod.boltdns.net/playback/once/v1/hls/v5/clear/1752604059001/debug/debug/195b46a6-f71b-432d-af0a-60c7f2131a7e/debug.m3u8?bc_token=NWIxNmQ4YWFfMzMwMzllMzIwMmZlYjRkNmJhY2ZkMWZiN2Y2NGQwOWVkZTYxYTBiOThhZmEwMTdkZjc5NjEzNGFkZDdiYTFjYw%3D%3D"
contentlength="39.0000" payloadlength="67.0000" contenttype="application/x-mpegURL"></bc:Brightcove>
<bc:BrightcoveDebug sessionID="195b46a6-f71b-432d-af0a-60c7f2131a7e"></bc:BrightcoveDebug>
</vmap:Extensions>
<vmap:AdBreak breakType="linear" breakId="MidRoll_5_0" timeOffset="00:00:05.0000">
<vmap:AdSource allowMultipleAds="true" followRedirects="true" id="0">
<vmap:VASTData>
<VAST xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Ad id="2">
<InLine>
<AdSystem>Test Ad Server</AdSystem>
<AdTitle>
 Marketing
</AdTitle>
<Description>
 Demo ad number 4
</Description>
<Error>
 
</Error>
<Creatives>
<Creative>
<Linear skipoffset="00:00:05">
<CreativeExtensions>
<CreativeExtension>
<BrightcoveForeignKey>2</BrightcoveForeignKey>
</CreativeExtension>
</CreativeExtensions>
<Duration>00:00:12.0000</Duration>
<AdParameters>
 <xml></xml>
</AdParameters>
<VideoClicks></VideoClicks>
</Linear>
</Creative>
</Creatives>
<Extensions>
<Extension>
<xml>data</xml>
</Extension>
</Extensions>
</InLine>
</Ad>
</VAST>
</vmap:VASTData>
</vmap:AdSource>
</vmap:AdBreak>
...// additional ad breaks
</vmap:VMAP>
Request2-テンプレート変数を使用する
メタデータ項目を参照するテンプレート変数を使用する SSAI 広告トレースを作成します。
方法 | 役職 |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/ {account_id} /ssai_debug_vmap/debug.xml |
ヘッダー | 認証:ベアラaccess_token ( アクセストークンの取得を参照 ) |
コンテンツタイプ:アプリケーション/json | |
サンプルボディ |
|
Response2
レスポンスの例:
<vmap:VMAP xmlns:bc="bc" xmlns:vmap="http://www.iab.net/vmap-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
<vmap:Extensions>
<bc:Brightcove ttl="1800" contenturi="https://ssaiplayback.us-east-1.qa.boltdns.net/playback/once/v1/hls/v5/clear/accoutn_debug/debug/debug/7592e9c3-214f-4c68-a576-1e2494b7be06/debug.m3u8" contentlength="10.0000" payloadlength="70.0000" contenttype="application/x-mpegURL"></bc:Brightcove>
<bc:BrightcoveDebug sessionID="7592e9c3-214f-4c68-a576-1e2494b7be06"></bc:BrightcoveDebug>
</vmap:Extensions>
<vmap:AdBreak breakType="linear" breakId="PreRoll_0_0" timeOffset="start">
<vmap:AdSource allowMultipleAds="true" followRedirects="true" id="0">
<vmap:VASTData>
<VAST xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Ad id="test-01-30s">
<InLine>
<AdSystem>BIAS</AdSystem>
<AdTitle>test-01-30s</AdTitle>
<Creatives>
<Creative>
<Linear>
<CreativeExtensions>
<CreativeExtension>
<BrightcoveForeignKey>test-01-30s</BrightcoveForeignKey>
</CreativeExtension>
</CreativeExtensions>
<Duration>00:00:30.0000</Duration>
<TrackingEvents>
<Tracking event="mute">https://solutions.brightcove.com/beacon?event=mute&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="unmute">https://solutions.brightcove.com/beacon?event=unmute&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="rewind">https://solutions.brightcove.com/beacon?event=rewind&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="pause">https://solutions.brightcove.com/beacon?event=pause&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="resume">https://solutions.brightcove.com/beacon?event=resume&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="fullscreen">https://solutions.brightcove.com/beacon?event=fullscreen&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
<Tracking event="acceptInvitation">https://solutions.brightcove.com/beacon?event=acceptInvitation&type=vast&request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&ad_id=test-01-30s</Tracking>
</TrackingEvents>
<VideoClicks>
<ClickThrough id="clickthrough">https://www.brightcove.com/en/</ClickThrough>
<ClickTracking id="43a0e4a5-4420-11e8-b306-99b1b6ae5164"></ClickTracking>
</VideoClicks>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
</vmap:VASTData>
</vmap:AdSource>
</vmap:AdBreak>
...// additional ad breaks
</vmap:VMAP>
トレース詳細の取得
前のセクションに示した広告トレースを実行したら、セッション ID を使用してトレースに関する詳細情報を取得できます。
は、session_id
キャッシュセッションを指定します。各セッションは、ビデオコンテンツの長さに基づいて独自の長さを持ちます。前のステップで API 呼び出しのレスポンスから ID を取得できます。
セッション ID は、前のセクションの VMAP 応答に記載されています。ここに例があります:
<bc:BrightcoveDebug sessionID="your session id"></bc:BrightcoveDebug>
リクエスト
セッション ID を指定してアドコールトレース情報を取得するには、次のような GET 要求を使用します。
方法 | 取得する |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/ {account_id} /ssai_traces/ {session_id} /ad_calls |
ヘッダー | 認証:ベアラaccess_token ( アクセストークンの取得を参照 ) |
コンテンツタイプ:アプリケーション/json |
応答
レスポンスの例:
{
"ad_calls": [
{
"timestamp": "2019-01-29T16:25:57.775607279Z",
"duration_ms": 2772.666305,
"request": {
"content_length": 0,
"event": "request",
"headers": {
"Referer": [
""
],
"User-Agent": [
"insomnia/6.3.2"
],
"X-Device-User-Agent": [
"insomnia/6.3.2"
],
"X-Forwarded-For": [
"108.26.214.36, 3.89.139.168"
]
},
"method": "GET",
"url": "https://solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml"
},
"response": {
"content_length": -1,
"event": "response",
"headers": {
"Accept-Ranges": [
"bytes"
],
"Access-Control-Allow-Credentials": [
"true"
],
"Access-Control-Allow-Headers": [
"X-Requested-With"
],
"Access-Control-Allow-Origin": [
"*"
],
"Content-Type": [
"application/xml"
],
"Date": [
"Tue, 29 Jan 2019 16:25:57 GMT"
],
"Etag": [
"\"13d6-57baaddddeea0-gzip\""
],
"Last-Modified": [
"Tue, 27 Nov 2018 19:58:00 GMT"
],
"Server": [
"Apache/2.4.7 (Ubuntu)"
],
"Vary": [
"Accept-Encoding"
]
},
"status_code": 200
},
"body": "PHZtYXA6Vk1BUCB4bWxuczp2bWFwPSJodHRwOi8vd3d3LmlhYi5uZXQvdmlkZW9zdWl0ZS92bWFwIiB2ZXJzaW9uPSIxLjAiPgoKICA8dm1hcDpBZEJyZWFrIHRpbWVPZmZzZXQ9InN0YXJ0IiBicmVha1R5cGU9ImxpbmVhciIgYnJlYWtJZD0icHJlcm9sbCI+CiAgICA8dm1hcDpBZFNvdXJjZSBpZD0icHJlcm9sbC1hZCIgYWxsb3dNdWx0aXBsZUFkcz0iZmFsc2UiIGZvbGxvd1JlZGlyZWN0cz0idHJ1ZSI+CiAgICAgIDx2bWFwOlZBU1RBZERhdGE+CiAgICAgICAgPFZBU1QgdmVyc2lvbj0iMy4wIj4KICAgICAgICAgIDxBZCBpZD0iMSI+CiAgICAgICAgICAgIDxJbkxpbmU+CiAgICAgICAgICAgICAgPEFkU3lzdGVtIHZlcnNpb249IjEuMCI+VGVzdCBBZCBTZXJ2ZXI8L0FkU3lzdGVtPgogICAgICAgICAgICAgIDxBZFRpdGxlPgogICAgICAgICAgICAgICAgPCFbQ0RBVEFbUG9ydGFsc11dPgogICAgICAgICAgICAgIDwvQWRUaXRsZT4KICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICA8IVtDREFUQVtEZW1vIGFkIG51bWJlciA2XV0+CiAgICAgICAgICAgICAgPC9EZXNjcmlwdGlvbj4KICAgICAgICAgICAgICA8RXJyb3I+CiAgICAgICAgICAgICAgICA8IVtDREFUQVtdXT4KICAgICAgICAgICAgICA8L0Vycm9yPgogICAgICAgICAgICAgIDxDcmVhdGl2ZXM+CiAgICAgICAgICAgICAgICA8Q3JlYXRpdmU+CiAgICAgICAgICAgICAgICAgIDxMaW5lYXI+CiAgICAgICAgICAgICAgICAgICAgPER1cmF0aW9uPjAwOjAwOjg8L0R1cmF0aW9uPgogICAgICAgICAgICAgICAgICAgIDxUcmFja2luZ0V2ZW50cy8+CiAgICAgICAgICAgICAgICAgICAgPEFkUGFyYW1ldGVycz4KICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBWzx4bWw+PC94bWw+XV0+CiAgICAgICAgICAgICAgICAgICAgPC9BZFBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgICAgICAgPFZpZGVvQ2xpY2tzLz4KICAgICAgICAgICAgICAgICAgICA8TWVkaWFGaWxlcz4KICAgICAgICAgICAgICAgICAgICAgIDxNZWRpYUZpbGUgdHlwZT0idmlkZW8vbXA0IiB3aWR0aD0iMTI4MCIgaGVpZ2h0PSI3MjAiIGRlbGl2ZXJ5PSJwcm9ncmVzc2l2ZSIgaWQ9IjIiIGJpdHJhdGU9IjQzMTYiIG1pbkJpdHJhdGU9IjMyMCIgbWF4Qml0cmF0ZT0iMzIwIiBzY2FsYWJsZT0idHJ1ZSIgbWFpbnRhaW5Bc3BlY3RSYXRpbz0idHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBW2h0dHBzOi8vc29sdXRpb25zLmJyaWdodGNvdmUuY29tL2JjbHMvYWRzL2JjLWFkcy9iY2xzLWFkLTYtNXNlY29uZHMubXA0XV0+CiAgICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZT4KICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZXM+CiAgICAgICAgICAgICAgICAgIDwvTGluZWFyPgogICAgICAgICAgICAgICAgPC9DcmVhdGl2ZT4KICAgICAgICAgICAgICA8L0NyZWF0aXZlcz4KICAgICAgICAgICAgICA8RXh0ZW5zaW9ucz4KICAgICAgICAgICAgICAgIDxFeHRlbnNpb24+CiAgICAgICAgICAgICAgICAgIDx4bWw+ZGF0YTwveG1sPgogICAgICAgICAgICAgICAgPC9FeHRlbnNpb24+CiAgICAgICAgICAgICAgPC9FeHRlbnNpb25zPgogICAgICAgICAgICA8L0luTGluZT4KICAgICAgICAgIDwvQWQ+CiAgICAgICAgPC9WQVNUPgogICAgICA8L3ZtYXA6VkFTVEFkRGF0YT4KICAgIDwvdm1hcDpBZFNvdXJjZT4KICA8L3ZtYXA6QWRCcmVhaz4KCiAgPHZtYXA6QWRCcmVhayB0aW1lT2Zmc2V0PSIwMDowMDowNSIgYnJlYWtUeXBlPSJsaW5lYXIiIGJyZWFrSWQ9Im1pZHJvbGwiPgogICAgPHZtYXA6QWRTb3VyY2UgaWQ9Im1pZHJvbGwtYWQiIGFsbG93TXVsdGlwbGVBZHM9ImZhbHNlIiBmb2xsb3dSZWRpcmVjdHM9InRydWUiPgogICAgICA8dm1hcDpWQVNUQWREYXRhPgogICAgICAgIDxWQVNUIHZlcnNpb249IjMuMCI+CiAgICAgICAgICA8QWQgaWQ9IjIiPgogICAgICAgICAgICA8SW5MaW5lPgogICAgICAgICAgICAgIDxBZFN5c3RlbSB2ZXJzaW9uPSIxLjAiPlRlc3QgQWQgU2VydmVyPC9BZFN5c3RlbT4KICAgICAgICAgICAgICA8QWRUaXRsZT4KICAgICAgICAgICAgICAgIDwhW0NEQVRBW01hcmtldGluZ11dPgogICAgICAgICAgICAgIDwvQWRUaXRsZT4KICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICA8IVtDREFUQVtEZW1vIGFkIG51bWJlciA0XV0+CiAgICAgICAgICAgICAgPC9EZXNjcmlwdGlvbj4KICAgICAgICAgICAgICA8RXJyb3I+CiAgICAgICAgICAgICAgICA8IVtDREFUQVtdXT4KICAgICAgICAgICAgICA8L0Vycm9yPgogICAgICAgICAgICAgIDxDcmVhdGl2ZXM+CiAgICAgICAgICAgICAgICA8Q3JlYXRpdmU+CiAgICAgICAgICAgICAgICAgIDxMaW5lYXIgc2tpcG9mZnNldD0iMDA6MDA6MDUiPgogICAgICAgICAgICAgICAgICAgIDxEdXJhdGlvbj4wMDowMDoxMjwvRHVyYXRpb24+CiAgICAgICAgICAgICAgICAgICAgPFRyYWNraW5nRXZlbnRzLz4KICAgICAgICAgICAgICAgICAgICA8QWRQYXJhbWV0ZXJzPgogICAgICAgICAgICAgICAgICAgICAgPCFbQ0RBVEFbPHhtbD48L3htbD5dXT4KICAgICAgICAgICAgICAgICAgICA8L0FkUGFyYW1ldGVycz4KICAgICAgICAgICAgICAgICAgICA8VmlkZW9DbGlja3MvPgogICAgICAgICAgICAgICAgICAgIDxNZWRpYUZpbGVzPgogICAgICAgICAgICAgICAgICAgICAgPE1lZGlhRmlsZSB0eXBlPSJ2aWRlby9tcDQiIHdpZHRoPSIxMjgwIiBoZWlnaHQ9IjcyMCIgZGVsaXZlcnk9InByb2dyZXNzaXZlIiBpZD0iMyIgYml0cmF0ZT0iMzAyNiIgbWluQml0cmF0ZT0iMzIwIiBtYXhCaXRyYXRlPSIzMjAiIHNjYWxhYmxlPSJ0cnVlIiBtYWludGFpbkFzcGVjdFJhdGlvPSJ0cnVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPCFbQ0RBVEFbaHR0cHM6Ly9zb2x1dGlvbnMuYnJpZ2h0Y292ZS5jb20vYmNscy9hZHMvYmMtYWRzL2JjbHMtYWQtNC0xMnNlY29uZHMubXA0XV0+CiAgICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZT4KICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZXM+CiAgICAgICAgICAgICAgICAgIDwvTGluZWFyPgogICAgICAgICAgICAgICAgPC9DcmVhdGl2ZT4KICAgICAgICAgICAgICA8L0NyZWF0aXZlcz4KICAgICAgICAgICAgICA8RXh0ZW5zaW9ucz4KICAgICAgICAgICAgICAgIDxFeHRlbnNpb24+CiAgICAgICAgICAgICAgICAgIDx4bWw+ZGF0YTwveG1sPgogICAgICAgICAgICAgICAgPC9FeHRlbnNpb24+CiAgICAgICAgICAgICAgPC9FeHRlbnNpb25zPgogICAgICAgICAgICA8L0luTGluZT4KICAgICAgICAgIDwvQWQ+CiAgICAgICAgPC9WQVNUPgogICAgICA8L3ZtYXA6VkFTVEFkRGF0YT4KICAgIDwvdm1hcDpBZFNvdXJjZT4KICA8L3ZtYXA6QWRCcmVhaz4KCiAgPHZtYXA6QWRCcmVhayB0aW1lT2Zmc2V0PSJlbmQiIGJyZWFrVHlwZT0ibGluZWFyIiBicmVha0lkPSJwb3N0cm9sbCI+CiAgICA8dm1hcDpBZFNvdXJjZSBpZD0icG9zdHJvbGwtYWQiIGFsbG93TXVsdGlwbGVBZHM9ImZhbHNlIiBmb2xsb3dSZWRpcmVjdHM9InRydWUiPgogICAgICA8dm1hcDpWQVNUQWREYXRhPgogICAgICAgIDxWQVNUIHZlcnNpb249IjMuMCI+CiAgICAgICAgICA8QWQgaWQ9IjMiPgogICAgICAgICAgICA8SW5MaW5lPgogICAgICAgICAgICAgIDxBZFN5c3RlbSB2ZXJzaW9uPSIxLjAiPlRlc3QgQWQgU2VydmVyPC9BZFN5c3RlbT4KICAgICAgICAgICAgICA8QWRUaXRsZT4KICAgICAgICAgICAgICAgIDwhW0NEQVRBW0JyYW5kXV0+CiAgICAgICAgICAgICAgPC9BZFRpdGxlPgogICAgICAgICAgICAgIDxEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIDwhW0NEQVRBW0RlbW8gYWQgbnVtYmVyIDFdXT4KICAgICAgICAgICAgICA8L0Rlc2NyaXB0aW9uPgogICAgICAgICAgICAgIDxFcnJvcj4KICAgICAgICAgICAgICAgIDwhW0NEQVRBW11dPgogICAgICAgICAgICAgIDwvRXJyb3I+CiAgICAgICAgICAgICAgPENyZWF0aXZlcz4KICAgICAgICAgICAgICAgIDxDcmVhdGl2ZT4KICAgICAgICAgICAgICAgICAgPExpbmVhcj4KICAgICAgICAgICAgICAgICAgICA8RHVyYXRpb24+MDA6MDA6MDg8L0R1cmF0aW9uPgogICAgICAgICAgICAgICAgICAgIDxUcmFja2luZ0V2ZW50cy8+CiAgICAgICAgICAgICAgICAgICAgPEFkUGFyYW1ldGVycz4KICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBWzx4bWw+PC94bWw+XV0+CiAgICAgICAgICAgICAgICAgICAgPC9BZFBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgICAgICAgPFZpZGVvQ2xpY2tzLz4KICAgICAgICAgICAgICAgICAgICA8TWVkaWFGaWxlcz4KICAgICAgICAgICAgICAgICAgICAgIDxNZWRpYUZpbGUgdHlwZT0idmlkZW8vbXA0IiB3aWR0aD0iMTI4MCIgaGVpZ2h0PSI3MjAiIGRlbGl2ZXJ5PSJwcm9ncmVzc2l2ZSIgaWQ9IjQiIGJpdHJhdGU9IjIxMTUiIG1pbkJpdHJhdGU9IjMyMCIgbWF4Qml0cmF0ZT0iMzIwIiBzY2FsYWJsZT0idHJ1ZSIgbWFpbnRhaW5Bc3BlY3RSYXRpbz0idHJ1ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhW0NEQVRBW2h0dHBzOi8vc29sdXRpb25zLmJyaWdodGNvdmUuY29tL2JjbHMvYWRzL2JjLWFkcy9iY2xzLWFkLTEtOHNlY29uZHMubXA0XV0+CiAgICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZT4KICAgICAgICAgICAgICAgICAgICA8L01lZGlhRmlsZXM+CiAgICAgICAgICAgICAgICAgIDwvTGluZWFyPgogICAgICAgICAgICAgICAgPC9DcmVhdGl2ZT4KICAgICAgICAgICAgICA8L0NyZWF0aXZlcz4KICAgICAgICAgICAgICA8RXh0ZW5zaW9ucz4KICAgICAgICAgICAgICAgIDxFeHRlbnNpb24+CiAgICAgICAgICAgICAgICAgIDx4bWw+ZGF0YTwveG1sPgogICAgICAgICAgICAgICAgPC9FeHRlbnNpb24+CiAgICAgICAgICAgICAgPC9FeHRlbnNpb25zPgogICAgICAgICAgICA8L0luTGluZT4KICAgICAgICAgIDwvQWQ+CiAgICAgICAgPC9WQVNUPgogICAgICA8L3ZtYXA6VkFTVEFkRGF0YT4KICAgIDwvdm1hcDpBZFNvdXJjZT4KICA8L3ZtYXA6QWRCcmVhaz4KCjwvdm1hcDpWTUFQPgo=",
"creatives": null,
"errors": null
}
]
}
BASE64のようなツールを使用して、レスポンス本文を読みやすくすることができます。
デコードされたレスポンスボディのサンプル:
<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap" version="1.0">
<vmap:AdBreak timeOffset="start" breakType="linear" breakId="preroll">
<vmap:AdSource id="preroll-ad" allowMultipleAds="false" followRedirects="true">
<vmap:VASTAdData>
<VAST version="3.0">
<Ad id="1">
<InLine>
<AdSystem version="1.0">Test Ad Server</AdSystem>
<AdTitle>
<![CDATA[Portals]]>
</AdTitle>
<Description>
<![CDATA[Demo ad number 6]]>
</Description>
<Error>
<![CDATA[]]>
</Error>
<Creatives>
<Creative>
<Linear>
<Duration>00:00:8</Duration>
<TrackingEvents/>
<AdParameters>
<![CDATA[<xml></xml>]]>
</AdParameters>
<VideoClicks/>
<MediaFiles>
<MediaFile type="video/mp4" width="1280" height="720" delivery="progressive" id="2" bitrate="4316" minBitrate="320" maxBitrate="320" scalable="true" maintainAspectRatio="true">
<![CDATA[http://solutions.brightcove.com/bcls/ads/bc-ads/bcls-ad-6-5seconds.mp4]]>
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
<Extensions>
<Extension>
<xml>data</xml>
</Extension>
</Extensions>
</InLine>
</Ad>
</VAST>
</vmap:VASTAdData>
</vmap:AdSource>
</vmap:AdBreak>
...