Google的商业消息API客户端库

google-businessmessages的Python项目详细描述


Google's Business Messages: Python Client

Business Messages是一个移动会话频道,它结合了Google地图、搜索和品牌网站上的入口点来创建丰富的异步消息传递体验。

本文档包含一个API reference、示例和其他对开发Python应用程序有用的资源。 有关使用Python和其他语言开发业务消息应用程序的其他帮助,请参阅 Business Messages quickstart 指南。

文件

业务消息API的文档可以在here中找到。

快速启动

开始之前

  1. Register with Business Messages。在
  2. 注册后,请按照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包含运行示例的说明。

SampleSource Code
Echo Botsource code

贡献

欢迎投稿!参见Contributing Guide

许可证

Apache 2.0版

LICENSE

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么即使我已经给出了代码中的所有权限,该代码也没有在emulator中运行?   java Android Studio正在抛出“线程中的异常”main“javax.net.ssl.SSLException:收到致命警报:协议\版本”   java中的for循环嵌套foreach语句   java读取/src/main/resources和/webinf/classes下的文件   java无法以此格式构造JSON响应   身份验证尝试从CAS secure rest api获取响应,但从java客户端获取登录页面作为响应   如何在java中使用excel从第1列和第3列获取单元格值,并将其作为键值对放入map中   在Java程序中打开Windows虚拟键盘   java有没有递归调用findMatch的方法?   java Pig脚本/命令,用于根据多个字符串筛选文件   java最小数量应匹配,应与POST匹配   java打开/关闭声音按钮不工作   Java嵌入式数据库持久性   java在方法调用时引发异常   java文本文件被覆盖而不是保存的问题   java Hibernate sql注释