为了学习python,我编写了一个python脚本,该脚本能够从Google表格的特定行和列中获取内容,并将其作为消息发送到我的Facebook帐户。
想法-为了让自己免于查看饭厅预定义菜单的麻烦,我想要一个脚本向我发送Facebook消息,告知我一天中特定时间提供的菜肴。
逻辑-基于一周中的一天中的时间,脚本访问包含菜单的Google工作表的特定行和列。 内容通过一个虚拟的Facebook帐户进一步转发给我的Messenger。 使用Windows Task Scheduler可以自动在特定时间运行整个过程。


- 将您的信息菜单上传到Google表格,并关注Twilio的这篇博客文章,以设置gspread的访问权限。
- 为您的python框架安装gspread,oauth2client和fbchat库。
- 设置一个虚拟Facebook帐户,并在下面的代码中替换登录详细信息和线程ID。
导入日期时间
导入 gspread
从 oauth2client.service_account 导入 ServiceAccountCredentials
从 fbchat 导入客户端
从 fbchat.models 导入 *
现在= datetime.datetime.now()
weekday = now.weekday()#根据星期几决定行
我= 0
对于我在范围(6)中:
如果我==工作日:
x =我+ 2
其他 :
我=我+ 1
#根据当天的时间决定该列
对于 day_hour 在范围(0,24)中:
如果 15 <= now.hour <24:
y = 4
elif 10 <= now.hour <15:
y = 3
其他 :
y = 2
#使用凭据创建客户端以与Google Drive API进行交互
范围= [ 'https://spreadsheets.google.com/feeds' ]
creds = ServiceAccountCredentials.from_json_keyfile_name( 'creds.json' ,作用域)
客户端= gspread.authorize(信用)
#按名称查找工作簿
#确保在此处使用正确的名称。 sheet = client.open( “ messmenu” ).sheet1
菜单= sheet.cell(x,y).value#发送Facebook消息
客户端=客户端( 'Facebook登录电子邮件-虚拟 , 'Facebook登录密码-虚拟' )
client.send(Message(text = menu),thread_id = 您的线程ID ,thread_type = ThreadType.USER)
client.logout()
打印( '完成' )