在我的应用程序中,用户授予我的应用程序扩展权限,并获取访问令牌并将其存储为其长期访问令牌。如何发布到用户朋友墙时,用户处于脱机状态
此用户显示了他们的朋友列表,他们选择一个。
我将他们的名字和fbuid存储在我的数据库中。
现在,在未来的某一天,我想发送一条消息给这位朋友的墙。 这可能吗? 如果没有其他选项可以在初始用户离线时向Facebook中的朋友发送链接?
*更新 我能够与长寿访问令牌和离线访问要做到这一点,如下所示:
access_token = "AAACvmqy1nYoBAAZCk*************dZAMjsLxKxR7DaZBE0NxY8ZBGBW1q2mzsB9TDT0RvgeQcDdnyFJNAYRf0icnhlbikZD"
appID = '19307***********'
message = "Happy Birthday from your friends."
name = "Click here for your Birthday Surprise"
redirect_uri = URI.parse('http://localhost:3000/facebook/')
link = "https://www.facebook.com/dialog/oauth?client_id=#{appID}&redirect_uri=#{redirect_uri}"
caption = "Your friends have created a surprise for you. Click the link to see what it is."
picture = 'http://www.birthdaywall.net/logo-mail.png'
userID = '100002*********'
uri = URI.parse("https://graph.facebook.com/#{userID}/feed")
req = Net::HTTP::Post.new(uri.path)
result = req.set_form_data({:access_token => access_token , :message => message, :app_id => appID, :name => name, :link => link, :caption => caption, :picture => picture, })
sock = Net::HTTP.new(uri.host, 443)
sock.use_ssl = true
sock.start do |http|
response = http.request(req)
end
我不知道这是不是最好的方式,但它为我工作所以我正在使用它。如果有人有更好的办法,我会很高兴知道这件事。
我不认为我需要有offline_access因为根据文档“publish_stream =>使您的应用程序来发布内容,评论,喜欢到用户的流,并在您可以随时将内容发布到用户的Feed中,而无需使用offline_access,但请注意,Facebook建议使用用户发起的共享模式。“但我不确定这是否意味着我仍然需要使用该令牌来发布或拒绝 – chell
您是对的,它是这样说的。那么你是否已经试图实现它?顺便说一下,也许您还需要存储访问令牌。 – borisdiakur
我已经能够发布。我在上面的编辑中显示了它。感谢您推动正确的方向。 – chell