1

我正在尝试使用 Twilio 的 API 和vobject发送 vCard 文件(允许您在移动设备上保存联系人) 。

这是我的代码:

import vobject
import requests
from twilio.rest import Client

account_sid = 'MY_SID_HIDDEN'
auth_token = 'AUTH_TOKEN_HIDDEN'

j = vobject.vCard()
j.add('n')
j.n.value = vobject.vcard.Name(family='Harris', given='Jeffrey')
j.add('fn')
j.fn.value = 'Jeffrey Harris'
j.add('email')
j.email.value = 'jeffrey@osafoundation.org'
j.email.type_param = 'Internet'

client = Client(account_sid, auth_token)

client.api.account.messages.create(
    to="NUMBER_HIDDEN",
    from_="NUMBER_HIDDEN",
    body=j
)

当我的设备收到消息时,它看起来像这样:

<VCARD| [<EMAIL{'TYPE': ['Internet']}jeffrey@osafoundation.org>, <FN{}Jeffrey Harris>, <N{} Jeffrey  Harris >]>

为什么会这样?

4

1 回答 1

0

我明白你想做什么,但有几个问题。

  1. 电子名片是文件;您已将标记的文本放在文本字段(正文)中。
  2. 要使用 API 附加文件,请将其指向Twilio 服务器可以访问的URL,并确保在 API 和存储卡的服务器上正确声明 mime 类型编码。

注意:我不确定是否不再需要 mime 类型,因为他们不在此示例中将其用于附加图片(https://www.twilio.com/docs/api/messaging/send-messages #send-a-message-with-an-image-url;将语言更改为 python)。

您将使用 mediaUrl 附加文件(电子名片)。
前任//mediaUrl=https://qrstuff.com/vcard.download/dec91a6d6/yo_yo_ma_vCard.vcf

于 2018-02-14T03:44:45.997 回答