Twilio не отправляет vCard с фотографией

Я создаю свою vCard с модулем vObjects, используя следующее:

      
def _create_vcard(assigned_address, write_to_disk=False):
    vCard = vobject.vCard()
    vCard.add('N').value = vobject.vcard.Name(given='EXAMPLE')
    vCard.add('FN').value = "EXAMPLE"

    vCard.add('EMAIL')
    vCard.email.value = 'info@EX.com'
    vCard.email.type_param = 'SUPPORT_EMAIL'

    vCard.add('TEL')
    vCard.tel.value = assigned_address
    vCard.tel.type_param = 'SYSTEM_NUMBER'

    vCard.add('URL')
    vCard.url.value = 'https://X.com/'
    vCard.url.type_param = 'WEBSITE'

    vCard.add('PHOTO;ENCODING=b;TYPE=image/jpeg').value = _b64_image('assets/example.jpg') # This line

    vCard_data = vCard.serialize()

Затем отправка сериализованных данных в публичную корзину S3

      def _write_vcard_to_s3_bucket(vCard_data, number):
    file_name = number[1:-1] + ".vcf"

    client = boto3.client('s3')
    response = client.put_object( 
        Bucket='EX-vcards',
        Body=vCard_data,
        Key=file_name,
        ContentType='text/x-vcard'
    )

    bucket_url = f'https://EX.s3.amazonaws.com/{file_name}'
    return bucket_url

Код Twilio

      def twilio_send_test_message(number, vcard_url):
    client = get_twilio_client()
    message = client.messages.create(
         body=f'example message with vCard',
         from_= number,
         media_url=[vcard_url],
         to='+1USPHONENUMBER'
    )
    return message

_b64 функция

      def _b64_image(filename):
    with open(filename, 'rb') as f:
        b64 = base64.b64encode(f.read())

    final = b64.decode('utf-8')
    return final

При комментировании строки фотографии vCard отправляет нормально, но с ней не работает.

Я также отправил ему текстовое сообщение, записав его в .vcf локально, и он отлично работает с изображением, если оно сохранено локально.

Я что-то явно не так делаю?

0 ответов

Другие вопросы по тегам