

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 AWS 最終使用者傳訊社交中傳送媒體訊息的範例
<a name="send-message-media"></a>

下列範例示範如何使用 將媒體訊息傳送給客戶 AWS CLI。如需設定 的詳細資訊 AWS CLI，請參閱[AWS Command Line Interface 《 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)》中的[設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。如需支援的媒體檔案類型清單，請參閱 [WhatsApp 中支援的媒體檔案類型和大小支援的媒體檔案類型](supported-media-types.md)。

**注意**  
WhatsApp 會在刪除媒體檔案前存放 30 天，請參閱 *WhatsApp Business Platform Cloud API 參考*中的[上傳媒體](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#upload-media)。

1. 將媒體檔案上傳至 Amazon S3 儲存貯體。如需詳細資訊，請參閱[上傳媒體檔案以使用 WhatsApp 傳送](managing-media-files-s3.md)。

1. 使用 post-WhatsApp-message-media 命令將媒體檔案上傳至 WhatsApp。 [post-whatsapp-message-media](https://docs.aws.amazon.com/cli/latest/reference/socialmessaging/post-whatsapp-message-media.html) 成功完成時，命令會傳回 *\$1MEDIA\$1ID\$1*，這是傳送媒體訊息的必要項目。

   ```
   aws socialmessaging post-whatsapp-message-media --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID}  --source-s3-file bucketName={BUCKET},key={MEDIA_FILE}
   ```

   針對上述命令執行以下事項：
   + 將 *\$1ORIGINATION\$1PHONE\$1NUMBER\$1ID\$1* 取代為您的電話號碼 ID。
   + 將 *\$1BUCKET\$1* 取代為 Amazon S3 儲存貯體的名稱。
   + 以媒體檔案名稱取代 *\$1MEDIA\$1FILE\$1*。

   您也可以使用 `--source-s3-presigned-url`而非 來使用[預先簽章 URL](managing-media-files-s3.md#managing-media-files-s3.title) 上傳`--source-s3-file`。您必須在 `headers` `Content-Type`欄位中新增 。如果您同時使用兩者，`InvalidParameterException`則會傳回 。

   ```
   --source-s3-presigned-url headers={"Name":"Value"},url=https://BUCKET.s3.REGION/MEDIA_FILE
   ```

1. 使用 [send-whatsapp-message](https://docs.aws.amazon.com/cli/latest/reference/socialmessaging/send-whatsapp-message.html) 命令來傳送媒體訊息。

   ```
   aws socialmessaging send-whatsapp-message --message '{"messaging_product":"whatsapp","to":"'{PHONE_NUMBER}'","type":"image","image":{"id":"'{MEDIA_ID}'"}}' --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID} --meta-api-version v20.0
   ```
**注意**  
使用 第 2 AWS CLI 版時，您必須指定 base64 編碼。這可以透過新增 AWS CLI 參數`--cli-binary-format raw-in-base64-out`或變更 AWS CLI 全域組態檔案來完成。如需詳細資訊，請參閱《 第 *AWS 2 版命令列界面使用者指南*[https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-settings](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-settings)》中的 。  

   ```
   aws socialmessaging send-whatsapp-message --message '{"messaging_product":"whatsapp","to":"'{PHONE_NUMBER}'","type":"image","image":{"id":"'{MEDIA_ID}'"}}' --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID} --meta-api-version v20.0 --cli-binary-format raw-in-base64-out
   ```

   針對上述命令執行以下事項：
   + 使用客戶的電話號碼取代 *\$1PHONE\$1NUMBER\$1*。
   + 將 *\$1ORIGINATION\$1PHONE\$1NUMBER\$1ID\$1* 取代為您的電話號碼 ID。
   + 以上一個步驟傳回的媒體 ID 取代 *\$1MEDIA\$1ID\$1*。

1. 當您不再需要媒體檔案時，您可以使用 delete-whatsapp-message-media 命令將其從 WhatsApp 中刪除。 [delete-whatsapp-message-media](https://docs.aws.amazon.com/cli/latest/reference/socialmessaging/delete-whatsapp-media-message.html) 這只會從 WhatsApp 移除媒體檔案，而非您的 Amazon S3 儲存貯體。

   ```
   aws socialmessaging delete-whatsapp-message-media --media-id {MEDIA_ID} --origination-phone-number-id {ORIGINATION_PHONE_NUMBER_ID}
   ```

   針對上述命令執行以下事項：
   + 將 *\$1ORIGINATION\$1PHONE\$1NUMBER\$1ID\$1* 取代為您的電話號碼 ID。
   + 以媒體 ID 取代 *\$1MEDIA\$1ID\$1*。