如何使用scribe发布推文?

时间:2014-07-06 17:58:50

标签: scala twitter twitter-oauth scribe

我在处理Twitter的 Scribe java库时遇到了一些问题。 我成功使用该库登录Twitter并收集了用户个人资料数据,但似乎无法代表用户找出如何发布推文。

我查看了github页面中的示例,但它仅用于访问数据,而不是发布。

这是我提出的一种方法,经过一些研究, 我应该在URL上传递什么,如果我正在阅读数据,那么url="https://api.twitter.com/1.1/account/verify_credentials.json"将是有效的。但是因为我正在尝试发布 推文。我该怎么办??

 def request(verb: Verb, url: String, accessToken: org.scribe.model.Token, reqBody: String, d: String): String = {
    val request: OAuthRequest = new OAuthRequest(verb, url)
    request.addBodyParameter("status", reqBody)
    service(d).signRequest(accessToken, request)
    val response: Response = request.send
    response.getBody
  }

服务方法,用于连接

  def service(url: String): OAuthService = new ServiceBuilder()
    .provider(classOf[TwitterApi.Authenticate])
    .apiKey("XXXXX")
    .apiSecret("XXXXX")
    .callback(url)
    .build

有人可以提供一些想法和指示。

谢谢,

@update:看来,对于发布状态,url=https://api.twitter.com/1.1/statuses/update.json?status=helllllooooo是必需的URL,多亏了这个SO post,似乎可以做到, 所以,如果有其他功能:

  • 如何发布主题标签,是在邮件正文中附加#hash1 够了,还是有特殊的方法呢?
  • 我们如何发布链接,就像任何普通链接一样,将链接添加到 消息??
  • 我们如何与图像共享链接?

我自己一直在研究答案,希望你能给我一些见解,

1 个答案:

答案 0 :(得分:0)

我认为您需要的文档是POST状态/更新页面:

https://dev.twitter.com/docs/api/1.1/post/statuses/update

以及关于链接包装器的这个特定常见问题...

https://dev.twitter.com/docs/tco-link-wrapper/faq#When_are_links_wrapped_with_t.co_Do_I_need_to_make_an_extra_API_call

总而言之,hashtags和URL /缩短与自我照顾 - 您只需要确保URL编码适当。

您与图像共享链接的方式与共享任何其他URL的方式相同(您只需将其包含在已发布的U​​RL编码字符串中)。如果基础站点已设置/目标URL被标记为呈现Twitter卡,则会显示图像,如下所述:

https://dev.twitter.com/docs/cards