我安装了drupal 7 hybridauth https://www.drupal.org/project/hybridauth。我为Google,Facebook,Twitter和LinkedIn配置了模块。他们除了谷歌以外都运作良好。根据HybridAuth Module指令,我去了https://code.google.com/apis/console#access。然后我使用“创建新客户端ID”按钮创建了应用程序,并设置了我为其他人社交登录所做的所有信息。
之后我尝试使用google auth链接登录,但是他们显示错误“处理您的请求时出错了!”。我在Google上搜索更多时间。但我无法解决这个问题。
然后我去看了我的drupal网站的日志。我发现以下错误消息 -
位置: DOMAIN-COM / drupalsocialauth / hybridauth / window / Google?destination = node& destination_error = node
消息:例外:用户个人资料请求失败!谷歌回复了无效回复。在** Hybrid_Providers_Google-> getUserProfile()(/home/pydream/public_html/drupalsocialauth/sites/all/libraries/hybridauth/hybridauth/Hybrid/Providers/Google.php第87行)。
你能帮我解决一下吗?
谢谢你的时间。
答案 0 :(得分:3)
我已经解决了这个问题,感谢此处的最后评论:https://groups.google.com/forum/#!topic/hybridauth/dNSUDyWpc5w
在https://code.google.com/apis/console#access
的项目下API& auth-> API的 启用:通讯录API和Google+ API
和
API& auth->同意屏幕 确保完成同意屏幕并保存
答案 1 :(得分:0)
在我的情况下,变量表中没有变量 hybridauth_provider_Google_scope 。我执行了命令:
drush vset hybridauth_provider_Google_scope "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email"
现在Google身份验证工作正常。
P.S。可能与drush vset hybridauth_provider_Google_scope "https://www.googleapis.com/auth/plus.profile.emails.read"
同时也能正常运作。我没有检查这个变种。
答案 2 :(得分:0)
尝试在此文件中发表评论:
/hybridauth/hybridauth/Hybrid/thirdparty/OAuth/OAuth2Client.php
该行:
// curl_setopt($ch, CURLOPT_USERAGENT , $this->curl_useragent );