我们想从谷歌日历中获取数据并通过外部API来源插入数据。 但我们希望使用电子邮件自动登录客户端,并保存密码alredy。
$authUrl = $client->createAuthUrl ();
echo $authUrl;
print "<a class='login' href='$authUrl'>Connect Me!</a>";
客户端不应该点击仅通过curl和客户端获取的登录凭据 登录谷歌日历并动态生成令牌。 我们使用过google calender php api。
$oauth2token_url = "https://accounts.google.com/o/oauth2/token";
$clienttoken_post = array(
"client_id" => '',
"client_secret" => '');
$curl = curl_init($oauth2token_url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $clienttoken_post);
curl_setopt ($curl, CURLOPT_HTTPHEADER, Array("application/x-www-form-urlencoded"));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if($client->isAccessTokenExpired()) {
echo 'Access Token Expired'; // debug
$json_response = curl_exec($curl); // JSON value returned
curl_close($curl);
$authObj = json_decode($json_response);
}
此代码不会生成令牌。
我们不要求重定向用户或进行令牌交换。 如果$ user ='user@gmail.com',我们要求; $ pass ='myPassword'; 传递给代码令牌为calender api生成使用OAuth 2.0
答案 0 :(得分:0)
你的网址有https,所以你需要使用它来处理它:
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
使用此选项可以查看curl操作的调试消息,以便您自己追踪:
curl_setopt($curl, CURLOPT_VERBOSE, true);