【问题标题】:Pinterest denying access from Google App Engine (403)Pinterest 拒绝来自 Google App Engine 的访问 (403)
【发布时间】:2015-11-06 04:52:01
【问题描述】:

使用 oauth accessToken,我可以通过以下方式检索用户信息:

https://api.pinterest.com/v1/me/?fields=first_name%2Cid%2Clast_name%2Curl%2Cusername%2Cimage&access_token=xxxx

从桌面甚至 ec2 返回:

{
   "data": {
   "username": "yyyt",
   "first_name": "yyyr",
   "last_name": "",
   "url": "https:\/\/www.pinterest.com\/yyyt\/",
   "image": {
      "60x60": {
        "url": "https:\/\/s-passets-cache-ak0.pinimg.com\/images\/user\/default_60.png",
        "width": 60,
        "height": 60
      }
    },
    "id": "1234567890"
  }
}

但是,当从 appengine 进行相同的查询时,会返回 403 错误以及详细信息:

{
    "message": "Forbidden",
    "status": 403
}

我找不到任何关于为什么 Google AppEngine 可能会被特别阻止的信息,而且由于他们的 API 已经过测试版,我不确定为什么会这样。

这个较早的问题:Pinterest API - returning 403 on EC2 Instance 建议他们阻止 ec2,因为 api 仍然非官方支持,但实际上 ec2 访问现在看起来不错,所以我不确定他们为什么会阻止 google。

任何人都可以提出不涉及代理的解决方法,或向我介绍可能禁止访问的原因吗?

【问题讨论】:

    标签: google-app-engine pinterest


    【解决方案1】:

    或向我说明可能禁止访问的原因?

    不幸的是,我今天尝试通过 App Engine 访问 Pinterest 网站(不是 API)时遇到了同样的问题。

    查看 Pinterest 在 App Engine 发出 HTTP 请求后返回的 403 错误页面,似乎原因是 Pinterest 不喜欢机器人并故意拒绝 App Engine 或 App Engine 开发服务器的 HTTP 请求。

    当尝试通过 CURL 访问 Pinterest 时,我注意到 Pinterest 拒绝所有在 User-Agent HTTP 请求标头中具有字符串 App Engine 的 HTTP 请求,但 Pinterest 很乐意接受任何其他(随机)用户代理字符串。

    因为 App Engine,如 documentation 中所述,自动将字符串 "AppEngine-Google (+http://code.google.com/appengine; appid: APPID)" 附加到 User-Agent HTTP 请求标头,我怀疑没有办法规避这一点。

    【讨论】:

    • 谢谢!我没有追踪到用户代理字符串,所以这是很好的附加信息。也让它看起来更随意。 Pinterest 支持表示他们将“跟进团队”,但那是在 10 月 27 日,从那以后我没有收到任何回复。
    猜你喜欢
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 2014-03-15
    • 2017-09-12
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多