gpt4 book ai didi

ruby - 来自家庭 ISP 的 Google Analytics Garb 请求失败,但在其他地方有效

转载 作者:可可西里 更新时间:2023-11-01 17:15:24 25 4
gpt4 key购买 nike

我正在尝试使用 garb gem 从 Google Analytics API 访问数据,发现使用 garb 的 http 请求在 Linode 帐户中工作得很好,但在家里 (Comcast) 被拒绝了。 Google 是否拒绝了来自某些 ISP 的某些类型的 http 请求,或者我只是做错了什么?简单示例如下:

require 'garb'

Garb::Session.login('XXXXXX@gmail.com', 'XXXXXX')
@profile = Garb::Profile.all.first
@report = Garb::Report.new(@profile)
@report.metrics :visits
puts @report.results

这给=> [#<OpenStruct visits="21">]在我的 Linode 上,但从我家的 ISP 运行的完全相同的东西给出:

Garb::DataRequest::ClientError: "<errorsxmlns=.........

这是在装扮这里提出的:

def send_request
response = if @session.single_user?
single_user_request
elsif @session.oauth_user?
oauth_user_request
end

raise ClientError, response.body.inspect unless response.kind_of?(Net::HTTPSuccess)
response
end

两个 IP 的初始 session 登录工作正常。只有在请求结果时才会抛出错误。我能做些什么来解决这个问题吗?我还没有(还)证实我通过手动客户端登录/数据请求得到完全相同的行为。我非常确信这不是 gem 问题,而是与 IP 相关的问题——也许与 Google 网络服务配额政策有关——但我愿意接受所有可能的解决方案。

谢谢,猎户座

最佳答案

您可能在短时间内多次调用 google。我还没有看到它发生在 Garb 上,但我看到它在使用 API 抓取搜索结果页面时发生过。 Google 会注意到并标记您的 IP。尝试浏览到 google.com 并从被阻止的 ip 运行正常的谷歌搜索,您可能需要输入验证码。他们可能会在这个阶段阻止来自该 IP 的 API 调用,我想几天后你最终会被清除。

关于ruby - 来自家庭 ISP 的 Google Analytics Garb 请求失败,但在其他地方有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3877393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com