Ruby on rails 3 speedy_c2dm:NoMethodError(未定义的方法`gsub';用于nil:NilClass)

Ruby on rails 3 speedy_c2dm:NoMethodError(未定义的方法`gsub';用于nil:NilClass),ruby-on-rails-3,rubygems,android-c2dm,Ruby On Rails 3,Rubygems,Android C2dm,我设置了speedy_c2dm向android设备发送“推送”消息 gem运行得很好,但现在我打电话时收到了这个NoMethodError消息 SpeedyC2DM::API.send_notification(options) 选项参数很好,我已经验证过了。 从中,我从gem获得了以下代码: def get_auth_token(email, password) data = "accountType=HOSTED_OR_GOOGLE&Email=#{email}&Pas

我设置了speedy_c2dm向android设备发送“推送”消息

gem运行得很好,但现在我打电话时收到了这个NoMethodError消息

SpeedyC2DM::API.send_notification(options)
选项参数很好,我已经验证过了。 从中,我从gem获得了以下代码:

def get_auth_token(email, password)
  data = "accountType=HOSTED_OR_GOOGLE&Email=#{email}&Passwd=#{password}&service=ac2dm"
  headers = { "Content-type" => "application/x-www-form-urlencoded",
              "Content-length" => "#{data.length}"}

  uri = URI.parse(AUTH_URL)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  response, body = http.post(uri.path, data, headers)
  return body.split("\n")[2].gsub("Auth=", "")
end
您可以看到最后一行使用gsub,因此我认为问题在于身份验证方法

自从我创建此帐户以来,我已更改了帐户的密码,我使用密码initializers/speedy_c2dm.rb更新了文件:

C2DM_API_EMAIL = "myemail@gmail.com"
C2DM_API_PASSWORD = "mynewpassword"

SpeedyC2DM::API.set_account(C2DM_API_EMAIL, C2DM_API_PASSWORD)
这会导致错误吗?即使更新了此文件,我也更改了密码? (谷歌不允许我返回旧密码,如果我再次更改,我必须创建一个与旧密码不同的新密码) 这是我唯一能想到的,因为我没有修改gem的代码。 我怎样才能修好它?现在已弃用,但它应该继续为老用户工作。我不想迁移到,如果我不需要的话,一切都设置为与C2DM一起工作


欢迎提出任何其他解决方法。

在我删除了用于登录电子邮件的“”之后,问题得到了解决

可以在gmail的帐户配置中进行此更改