【问题标题】:Access token exception instagram with working access token?访问令牌异常 instagram 与工作访问令牌?
【发布时间】:2013-05-04 18:24:40
【问题描述】:

我的 scala 代码发出 HTTP 请求时遇到问题。

https://api.instagram.com/v1/tags/training?access_token=workingaccesstoken

给予

{"meta":{"code":200},"data":{"media_count":872874,"name":"training"}}

这就是我想要的。

当我尝试从我的代码中执行此操作时:

val data = WS.url("https://api.instagram.com/v1/tags/training?access_token=sameworkingtoken").get()
val body = data.get().getBody()

给予

{"meta":{"error_type":"OAuthParameterException","code":400,"error_message":"\"client_id\" or \"access_token\" URL parameter missing. This OAuth request requires either a \"client_id\" or \"access_token\" URL parameter."}

这不是我想要的。 我累了,不知道我在这里做错了什么?我应该寻求其他解决方案吗?我被困住了,非常感谢我的问题的一些答案。 顺便提一句。我正在从当地做我的请求,也许这是我的问题? 谢谢!

【问题讨论】:

  • 你使用什么库来进行 http 请求?看来您的 access_ token 参数没有被发送,但除非我知道那是什么库,否则我不能肯定地说。
  • 呃,你有没有想过像我导入的 play.libs.WS 一样? @cmbaxter
  • 我的 http 获取请求正在返回一个承诺。这能惹麻烦吗?如果它是异步完成的?

标签: scala httprequest httpresponse access-token instagram


【解决方案1】:

当我运行此代码时,我得到一个异常,表明访问令牌无效(预期)。如果您插入有效的令牌,它应该可以工作:

import play.api.libs.ws.WS
import scala.concurrent.Await
import scala.concurrent.duration._

object WSTest {
  def main(args: Array[String]) {
    val data = WS.url("https://api.instagram.com/v1/tags/training?access_token=sameworkingtoken").get()
    val resp = Await.result(data, 5 seconds)
    println(resp.body)
  }
}

【讨论】:

  • 感谢您的回答!当我尝试这个时,我得到一个类型不匹配,说当传递 datain Await.result() 时它找到了一个 Promise[Response] 但想要一个 Awaitable[?]。
猜你喜欢
  • 2013-01-05
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
  • 2019-12-08
  • 1970-01-01
  • 2016-10-22
  • 1970-01-01
相关资源
最近更新 更多