【问题标题】:How to send a POST request with OAUTH in Lua如何在 Lua 中使用 OAUTH 发送 POST 请求
【发布时间】:2019-04-27 01:47:00
【问题描述】:

所以我想通过向 Twitter API 发送 POST 请求来在 Twitter 上发布推文。

我还没有找到一种简单的方法来做到这一点(除非我使用包装器),而且我对 Lua 也不是很熟悉。 这是 Twitter 自己使用 curl 的示例:

$ curl --request POST 
--url 'https://api.twitter.com/1.1/statuses/update.json?
status=Test%20tweet%20using%20the%20POST%20statuses%2Fupdate%20endpoint' 
--header 'authorization: OAuth oauth_consumer_key="YOUR_CONSUMER_KEY",
oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE",
oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP",
oauth_token="USERS_ACCESS_TOKEN", oauth_version="1.0"' 
--header 'content-type: application/json'

但从我见过的一些包装器看来,您似乎可以使用:

consumer_key
consumer_secret
access_token
access_token_secret

我只想要一种简单的推文方式,而不能拥有 Twitter API 所具有的所有其他 API 功能。所以没有包装或任何东西。只是一个简单的脚本,但我似乎无法弄清楚。非常感谢任何帮助。

【问题讨论】:

标签: twitter oauth lua twitter-oauth luasocket


【解决方案1】:

为 Twitter 使用专门的 Lua 库,例如https://github.com/leafo/lua-twitter

luarocks install https://luarocks.org/manifests/leafo/twitter-dev-1.rockspec

或更通用的用于 OAuth 的 Lua 库,例如https://github.com/ignacio/LuaOAuth 剩下的自己做。

【讨论】:

  • 我想通过仅使用 Sha1、JSON 和 LuaSocket 等库的一个脚本来完成所有这一切。我不想要 Twitter API 的任何其他部分的功能。
  • 我正在使用 lua-cURL 进行 HTTP 请求。因为 luasocket 无法执行实际的 tls 标准。 lua-cURL 有一些内置的身份验证选项(例如 Basic 和 Digest)。 Bearer 需要 libcurl 7.61.0。因此,您可以编写一个函数来处理具有多个请求的 OAuth 2.0。
猜你喜欢
  • 2012-10-04
  • 1970-01-01
  • 2012-09-19
  • 2011-08-04
  • 2011-07-15
  • 2019-07-08
相关资源
最近更新 更多