【问题标题】:Origin of tokens in Google trends API callGoogle 趋势 API 调用中令牌的来源
【发布时间】:2017-02-18 16:09:51
【问题描述】:

当我从 Google 趋势查询(例如 here)下载 CSV 时,我看到一个 HTTP GET 请求

https://www.google.com/trends/api/widgetdata/multiline/csv

带参数

req:{"time":"2012-02-18 2017-02-18","resolution":"WEEK","locale":"en-GB","comparisonItem":[{"geo":{},"complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"trump"}]}}],"requestOptions":{"property":"","backend":"IZG","category":0}}
token:APP6_UEAAAAAWKm9N57FxjXrnfxhxhe5SEax6DyR97sY
tz:-120

req 和 tz 参数是有意义的,但我不确定令牌是如何生成的。有人可以向我解释这是从哪里来的吗?我是否需要使用 oauth2 包来创建这些令牌?

【问题讨论】:

    标签: http get google-api


    【解决方案1】:

    此令牌是为结果小部件生成的,每个小部件都有自己的令牌。

    这个令牌来自哪里?

    当页面https://trends.google.com/trends/explore?q=trump打开时,向https://trends.google.com/trends/api/explore发送AjaxGET请求,查询参数:

    在此 Ajax 请求的响应中,有一个 widgets 字段,其中包含所有结果小部件数据。每个小部件都有一个唯一的令牌:

    下载 CSV 操作被触发时(在特定的小部件上,GEThttps://trends.google.com/trends/api/widgetdata/multiline/csv 请求),该小部件的token 信息被提取并作为查询参数传递:

    请注意响应中的令牌和下载 csv 请求中的令牌相同(对于相同的小部件)。

    令牌是如何生成的?

    理论上,所有随机且唯一的字符串都可以用作保护小部件的令牌。 Google 可能有自己的算法。

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 2016-12-16
      相关资源
      最近更新 更多