首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google方法需要很长时间才能执行

Google方法需要很长时间才能执行
EN

Stack Overflow用户
提问于 2015-09-08 16:36:11
回答 1查看 153关注 0票数 0

我正在开发一个动态网站,它非常依赖ajax调用。我注意到,当我在首页加载并尝试访问该页面上的主搜索框时,需要5-7秒才能完成ajax请求,然后填充主搜索框。我设法发现,Google库是由Google库造成的,该库在加载页面的HTML后立即启动,试图验证访问用户的身份。我已经对脚本进行了部分测试,并发现问题在库的"verifyIdToken“方法中,这个方法需要大约5秒的时间来完成。

我注意到,在文档和教程中,Google说:“库将自动下载和缓存验证所需的证书,并在证书过期时刷新它。”

有没有人知道:

  • 这是这个方法的正常行为,要花这么长时间才能执行?
  • 缓存是标准行为,还是必须将其设置为实际缓存所需的数据?
  • 如果这是标准行为,我如何检查缓存是否实际发生?

下面是我正在处理的完整代码,可能有人发现了其中的错误:

代码语言:javascript
复制
$client_id='xxxxxx';
$client_secret='xxxxxxxx';

$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setApplicationName("Converser Google API");
$client->addScope('https://www.googleapis.com/auth/plus.me');
$client->addScope('https://www.google.com/m8/feeds');
$client->addScope('https://mail.google.com/');
$client->addScope('email');
$client->setRedirectUri('postmessage');
$client->setAccessType("offline");
$client->setApprovalPrompt("force");

if (!isset($_SESSION['google-api']['access_token'])) {
    if (isset($_REQUEST['code'])) g_exchangeCode($_REQUEST['code']);
    else g_kill(0);
} else {
    $accessToken=$_SESSION['google-api']['access_token'];
    $client->setAccessToken($accessToken);
    $returnData['auth_by']='token';
}
if($client->isAccessTokenExpired()) {
    if (isset($_REQUEST['gid']) && !empty($_REQUEST['gid'])) g_refreshToken($_REQUEST['gid']);
    else if (isset($_REQUEST['code']) && !empty($_REQUEST['code'])) g_exchangeCode($_REQUEST['code']);
    else g_kill(1);
}
$token_data = $client->verifyIdToken()->getAttributes();
EN

回答 1

Stack Overflow用户

发布于 2016-05-25 16:46:02

它是由ipv6引起的,您需要使用ipv4,否则就会得到这个错误

提交允许通过setClassConfig设置cURL选项。设置这个应该可以解决这个问题。

如果您使用的是主分支而不是签出'CURLOPT_IPRESOLVE', 'CURL_IPRESOLVE_V4',则为

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32462951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档