媒體上傳功能可讓你儲存可在 Display & Video 360 中使用的資料。使用者可能想上傳的資料種類包括相片、影片、ZIP 檔案等。
上傳選項
Display & Video 360 API 可讓您上傳特定類型的二進位資料或媒體。如要瞭解可上傳資料的特性,請參閱需要上傳媒體的任何工作適用的開發人員指南:
- 檔案上傳大小上限:可以用這個方法儲存的資料量上限。
- 接受的媒體 MIME 類型:可以用這個方法儲存的二進位資料類型。
您可以透過下列任何一種方式提出上傳要求,請使用 uploadType 參數指定您要使用的方法。
- 簡易上傳:
uploadType=media。快速傳輸約 5 MB 以下的檔案。 - 多部分上傳作業:
uploadType=multipart。快速轉移檔案和相關中繼資料。可在單一要求中,將檔案與中繼資料一起傳輸完畢。
上傳媒體時,您會使用 /upload URI。傳輸媒體資料本身時,請使用這個 URI。
範例:
POST /upload/media/resource-name
簡易上傳
上傳檔案最直接的方法,就是建立簡易的上傳要求。以下情況適合使用這個選項:
- 檔案夠小,必要時可以重新上傳。
- 沒有中繼資料要傳送。如果中繼資料並非必要,或已包含在要求的其他位置,就可能發生這種情況。
如要使用簡易上傳功能,請向方法的 /upload URI 發出 POST 或 PUT 要求,並加入查詢參數 uploadType=media。例如:
POST https://displayvideo.googleapis.com/upload/media/resource-name?uploadType=media
進行簡易上傳時使用的 HTTP 標頭包括:
Content-Type。設為選定方法能接受的媒體資料類型。Content-Length。設為要上傳的位元組數,但若使用區塊轉移編碼即不需要。
多部分上傳
如果有要隨資料一起上傳的中繼資料,可以提出 multipart/related 要求。但如果要傳送的資料夠小,就算連線失敗也能重傳一次,倒是可以考慮這種傳輸方式。
如要使用多部分上傳,請向方法的 /upload URI 提出 POST 或 PUT 要求,並加入查詢參數 uploadType=multipart。例如:
POST https://displayvideo.googleapis.com/upload/v4/advertisers/advertiser-id/assets?uploadType=multipart
提出多部分上傳要求時,要使用的頂層 HTTP 標頭包括:
Content-Type:請設為multipart/related,並加入要用來辨識各個要求部分的邊界字串。Content-Length:請設定成要求主體中的位元組總數。要求中的媒體部分,必須小於針對這個方法指定的檔案大小上限。
要求主體的格式為 multipart/related 內容類型 [RFC2387],其中包含兩個部分。這些部分是靠邊界字串來辨識的,而緊接在最後一個邊界字串後面會有兩個連字號。
多部分要求的每個部分都需要一個額外的 Content-Type 標頭:
- 中繼資料部分:必須是要求的第一個部分,且
Content-Type必須符合系統接受的其中一種中繼資料格式。 - 媒體部分:必須是要求的第二個部分,且
Content-Type必須符合該方法可接受的其中一種媒體 MIME 類型。
範例
您可以使用 Display & Video 360 API 上傳媒體,執行各種工作。本節提供以 cURL 要求形式呈現的範例。
上傳廣告素材資源
上傳廣告素材資源的方法如下:
curl --request POST \
'https://displayvideo.googleapis.com/upload/v4/advertisers/advertiser-id/assets?uploadType=multipart' \
--header 'Authorization: Bearer access-token' \
-F "data={\"filename\": \"asset-filename\"};type=application/json;charset=UTF-8" \
-F "file=@asset-path;type=asset-mime-type"詳情請參閱「上傳廣告素材資源」指南和程式碼範例。
上傳自訂出價指令碼檔案
上傳指令碼檔案的方法如下:
curl --request POST \
'https://displayvideo.googleapis.com/upload/media/resource-name?uploadType=media' \
-H 'authorization: Bearer access-token' \
-H 'Content-Type: text/plain' \
--data-binary @script-path詳情請參閱上傳指令碼指南和程式碼範例。