通过MMS创建和发送vCard文件

时间:2018-02-11 18:55:07

标签: python twilio vcard vobject

我正在尝试使用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 >]>

为什么会这样?

1 个答案:

答案 0 :(得分:0)

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

  1. Vcards是文件;您已在文本字段(正文)中放置了标记文本。
  2. 要使用API​​附加文件,您指向它在Twilio Server可以访问的网址,并确保在API中正确声明您的mime类型编码以及存储卡的服务器。
  3. 注意:我不确定是否需要mime-type,因为他们不会在此示例中使用它来附加图片(https://www.twilio.com/docs/api/messaging/send-messages#send-a-message-with-an-image-url ;将语言更改为python)。

    您可以使用mediaUrl附加文件(vcard) ex // SELECT PRODUCT.PRODUCT_NO, PRODUCT.BRAND,PRODUCT.PRODUCT_CATEGORY FROM PRODUCT JOIN ORDERLINE ON PRODUCT.PRODUCT_NO = ORDERLINE.PRODUCT_NO GROUP BY PRODUCT.PRODUCT_NO, PRODUCT.BRAND,PRODUCT.PRODUCT_CATEGORY HAVING COUNT(ORDERLINE_NO) >= 500 ;