【问题标题】:How to make post request call to Facebook Graph Api using Httparty in rails?如何在 Rails 中使用 Httparty 对 Facebook Graph Api 进行发布请求调用?
【发布时间】:2016-06-25 12:18:22
【问题描述】:

我正在尝试为 Facebook Messenger 构建一个机器人。我必须向 Facebook Graph Api 发布请求调用。他们提供的示例代码在 node.js 中。我使用 rails 作为后端。

示例代码

request({
    uri: 'https://graph.facebook.com/v2.6/me/messages',
    qs: { access_token: PAGE_ACCESS_TOKEN },
    method: 'POST',
    json: messageData
});

我正在使用 Httparty gem 发出帖子请求。问题是我不知道请求中的 qs 是什么。那么我应该如何向 facebook 提供 qs 信息?帮我把上面的示例代码转换成rails代码。

【问题讨论】:

  • 我回答你了吗?如果是,请将此问题标记为已回答。

标签: javascript ruby-on-rails node.js facebook facebook-graph-api


【解决方案1】:

qs 是查询字符串,您可以将其附加到 url。 请参阅下面的 ruby​​ 示例代码。

require 'httparty'
require 'json'

ACCESS_TOKEN = "<YOUR ACCESS TOKEN>"

url = "https://graph.facebook.com/v2.6/me/messages?access_token=" + ACCESS_TOKEN
SENDER_ID = <YOUR SENDER ID>
MESSAGE = "<YOUR SENDING STRING>"

options = {
        body: {
                recipient: {id: SENDER_ID},
                message: {text: MESSAGE}
        }
}

result = HTTParty.post(url, options)
print result

不过也有一些用 RoR 编写的 messenger bot 的示例代码,请在 github 上查看。

【讨论】:

    【解决方案2】:

    qs 表示查询字符串。所以要点击的实际网址是 https://graph.facebook.com/v2.6/me/messages?access_token={access_token}。

    这可以通过在 access_token 选项中设置查询值来使用 httparty

    示例:-

    options ={
                "query": {access_token: @page_access_token},
                "body": message_data
            }
    HTTParty.post("https://graph.facebook.com/v2.6/me/messages",options)
    

    【讨论】:

      猜你喜欢
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多