Google的商业消息API客户端库
google-businessmessages的Python项目详细描述
Google's Business Messages: Python Client
Business Messages是一个移动会话频道,它结合了Google地图、搜索和品牌网站上的入口点来创建丰富的异步消息传递体验。
本文档包含一个API reference、示例和其他对开发Python应用程序有用的资源。 有关使用Python和其他语言开发业务消息应用程序的其他帮助,请参阅 Business Messages quickstart 指南。
文件
业务消息API的文档可以在here中找到。
快速启动
开始之前
- Register with Business Messages。在
- 注册后,请按照enable the APIs for your project的说明操作。在
安装
Mac/Linux
python -m venv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install google-businessmessages
窗口
^{pr2}$支持的Python版本
Python3.5、3.6和3.7以及3.8都得到了全面的支持和测试。
使用客户端库
frombusinessmessagesimportbusinessmessages_v1_clientasbm_clientfrombusinessmessages.businessmessages_v1_messagesimport(BusinessmessagesConversationsMessagesCreateRequest,BusinessMessagesMessage,BusinessMessagesRepresentative)credentials=ServiceAccountCredentials.from_json_keyfile_name('your-service-account-key-file-location',scopes=['https://www.googleapis.com/auth/businessmessages'])client=bm_client.BusinessmessagesV1(credentials=credentials)conversation_id='valid-conversation-id'message=BusinessMessagesMessage(messageId=str(uuid.uuid4().int),representative=BusinessMessagesRepresentative(representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT),text='Hello, World!')# Create the message requestcreate_request=BusinessmessagesConversationsMessagesCreateRequest(businessMessagesMessage=message,parent='conversations/'+conversation_id)# Send the messagebm_client.BusinessmessagesV1.ConversationsMessagesService(client=client).Create(request=create_request)
示例用法
下面的示例假设类似的库初始化,如Using the client library部分所示。
发送短信
message=BusinessMessagesMessage(messageId=str(uuid.uuid4().int),representative=BusinessMessagesRepresentative(representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT),text='Hello, World!')# Create the message requestcreate_request=BusinessmessagesConversationsMessagesCreateRequest(businessMessagesMessage=message,parent='conversations/'+conversation_id)# Send the messagebm_client.BusinessmessagesV1.ConversationsMessagesService(client=client).Create(request=create_request)
发送包含建议回复和操作的短信
message=BusinessMessagesMessage(messageId=str(uuid.uuid4().int),representative=BusinessMessagesRepresentative(representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT),text='Hello, World!',suggestions=[BusinessMessagesSuggestion(reply=BusinessMessagesSuggestedReply(text='Sample Chip',postbackData='sample_chip')),BusinessMessagesSuggestion(action=BusinessMessagesSuggestedAction(text='URL Action',postbackData='url_action',openUrlAction=BusinessMessagesOpenUrlAction(url='https://www.google.com'))),BusinessMessagesSuggestion(action=BusinessMessagesSuggestedAction(text='Dial Action',postbackData='dial_action',dialAction=BusinessMessagesDialAction(phoneNumber='+12223334444'))),])# Create the message requestcreate_request=BusinessmessagesConversationsMessagesCreateRequest(businessMessagesMessage=message,parent='conversations/'+conversation_id)# Send the messagebm_client.BusinessmessagesV1.ConversationsMessagesService(client=client).Create(request=create_request)
发送富卡
message=BusinessMessagesMessage(messageId=str(uuid.uuid4().int),representative=BusinessMessagesRepresentative(representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT),richCard=BusinessMessagesRichCard(standaloneCard=BusinessMessagesStandaloneCard(cardContent=BusinessMessagesCardContent(title='Business Messages!!!',description='This is an example rich card',suggestions=[BusinessMessagesSuggestion(reply=BusinessMessagesSuggestedReply(text='Sample Chip',postbackData='sample_chip'))],media=BusinessMessagesMedia(height=BusinessMessagesMedia.HeightValueValuesEnum.MEDIUM,contentInfo=BusinessMessagesContentInfo(fileUrl='https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png',forceRefresh=False))))))# Create the message requestcreate_request=BusinessmessagesConversationsMessagesCreateRequest(businessMessagesMessage=message,parent='conversations/'+conversation_id)# Send the messagebm_client.BusinessmessagesV1.ConversationsMessagesService(client=client).Create(request=create_request)
发送传送带
message=BusinessMessagesMessage(messageId=str(uuid.uuid4().int),representative=BusinessMessagesRepresentative(representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT),richCard=BusinessMessagesRichCard(carouselCard=BusinessMessagesCarouselCard(cardWidth=BusinessMessagesCarouselCard.CardWidthValueValuesEnum.MEDIUM,cardContents=[BusinessMessagesCardContent(title='Card #1',description='The description for card #1',suggestions=[BusinessMessagesSuggestion(reply=BusinessMessagesSuggestedReply(text='Card #1',postbackData='card_1'))],media=BusinessMessagesMedia(height=BusinessMessagesMedia.HeightValueValuesEnum.MEDIUM,contentInfo=BusinessMessagesContentInfo(fileUrl='https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg',forceRefresh=False))),BusinessMessagesCardContent(title='Card #2',description='The description for card #2',suggestions=[BusinessMessagesSuggestion(reply=BusinessMessagesSuggestedReply(text='Card #2',postbackData='card_2'))],media=BusinessMessagesMedia(height=BusinessMessagesMedia.HeightValueValuesEnum.MEDIUM,contentInfo=BusinessMessagesContentInfo(fileUrl='https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg',forceRefresh=False)))])))# Create the message requestcreate_request=BusinessmessagesConversationsMessagesCreateRequest(businessMessagesMessage=message,parent='conversations/'+conversation_id)# Send the messagebm_client.BusinessmessagesV1.ConversationsMessagesService(client=client).Create(request=create_request)
样品
请参阅代码示例以查看大多数API功能的示例用法。示例'README.md
包含运行示例的说明。
Sample | Source Code |
---|---|
Echo Bot | source code |
贡献
欢迎投稿!参见Contributing Guide。
许可证
Apache 2.0版
- 项目
标签: