options
真的不确定此错误来自何处。
我正在使用ruby 2.5,Rails 5和google-api-client 0.8.2
有什么想法可以解决,或者我可以提供什么信息来使这个问题更有意义?
更新:当我尝试使用Google的API进行授权时,我的日志会显示此信息
UPDATE wp_options SET option_value = replace(option_value, 'http://example.com', 'https://example.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE (guid, 'http://example.com', 'https://example.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://example.com', 'https://example.com');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://example.com','https://example.com');
根据我的研究,CRLF是“ \ r \ n”字符,对吗?
所以ArgumentError in Users::OmniauthCallbacksController#google_oauth2
header field value cannot include CR/LF
可能是问题所在。
所以我的问题是-在我的请求中如何使用Rails 5修复此问题时如何访问用户代理?
答案 0 :(得分:1)
您可以修改user_agent字符串以删除CR / LF。我正在使用Rails 4.1.8和google-api-client
版本`
@api_client = Google::APIClient.new(:application_name=>"Chronos", :application_version=>0)
# work around a bug that puts a CR/LF in the user agent string
@api_client.user_agent = @api_client.user_agent.gsub("\n", "")
答案 1 :(得分:0)
更新google-api-client gem的版本对我有用。
答案 2 :(得分:0)
使用String name=x[0]
时,生成的User-Agent可能包含CRLF。可以在构造函数中覆盖它。示例:
Google::APIClient
答案 3 :(得分:0)
将gem google-api-client
更新为版本0.20.0
。它可以解决问题,但需要对应用程序进行其他更改