Python脚本-从Google表格到Facebook

为了学习python,我编写了一个python脚本,该脚本能够从Google表格的特定行和列中获取内容,并将其作为消息发送到我的Facebook帐户。

想法-为了让自己免于查看饭厅预定义菜单的麻烦,我想要一个脚本向我发送Facebook消息,告知我一天中特定时间提供的菜肴。

逻辑-基于一周中的一天中的时间,脚本访问包含菜单的Google工作表的特定行和列。 内容通过一个虚拟的Facebook帐户进一步转发给我的Messenger。 使用Windows Task Scheduler可以自动在特定时间运行整个过程。

  1. 将您的信息菜单上传到Google表格,并关注Twilio的这篇博客文章,以设置gspread的访问权限。
  2. 为您的python框架安装gspread,oauth2client和fbchat库。
  3. 设置一个虚拟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()

打印( '完成'