【发布时间】:2018-05-07 22:44:23
【问题描述】:
我正在使用 twitter4j 发布来自只能与 Internet 代理联系的应用程序的推文。所以我用这个配置在代理上设置了一个 apache 虚拟主机:
ProxyPass /rest/1.1/ https://api.twitter.com/1.1/
ProxyPassReverse /rest/1.1/ https://api.twitter.com/1.1/
所以我的应用程序请求将是一个 POST 到 https://proxy.com/rest/1.1/update....,它将被代理到 Twitter Rest API (https://api.twitter.com/1.1/update...),到目前为止一切顺利。
为了遵守 auth-header,每个带有原始 twitter api url 的请求都会计算 header 中的 oauth 签名(否则身份验证将失败,因为主机 url 将是代理的)。 POST 请求本身成功,但抛出一个额外的错误:
{"errors":[{"code":220,"message":"Your credentials do not allow access to this resource."}]}
我不知道,还有什么可做的。顺便说一句:相同的应用程序代码通过直接连接到 api.twitter.com 成功
【问题讨论】: