사용자가 캘린더를 공유했는지 또는 공개했는지 확인해야합니다. Google은 보안을 강화하려고합니다. 사용중인 방법으로 사용자의 개인용 캘린더에 액세스 할 수있었습니다. 이것은 분명히 바람직하지 않은 행동입니다. Google 데이터 프로토콜 API는 여러 가지 인증 방법을 지원합니다. HERE은 응용 프로그램에 적합한 것을 선택할 수 있도록 도와줍니다. API 문서는 oauth를 사용하여 인증하는 것이 좋습니다. http://oauth.net/ 사이트는 PHP에서 API에 액세스하기위한 여러 라이브러리를 제공합니다. OpenID는 또한 OAuth와 OpenID를 모두 활용하여 프로세스를 능률화하는 하이브리드뿐만 아니라 지원되는 옵션입니다.
IFrame에 캘린더를 표시하는 경우 캘린더의 아톰 피드를 가져와 html로 표시하는 html 페이지를 만드십시오. XML이므로 XML 처리 방식 (예 : XSLT, simpleXML 등)을 사용하면 iframe의 소스 속성으로이 페이지의 URL을 사용할 수 있습니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Example List of calendar contents</title>
</head>
<body>
<?php
// load library
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
Zend_Loader::loadClass('Zend_Http_Client');
// create authenticated HTTP client for Calendar service
$gcal = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$user = "[email protected]";
$pass = "pass";
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $gcal);
$gcal = new Zend_Gdata_Calendar($client);
// generate query to get event list
$query = $gcal->newEventQuery();
$query->setUser('default');
$query->setVisibility('private');
$query->setProjection('basic');
// get and parse calendar feed
// print output
try { $feed = $gcal->getCalendarEventFeed($query); }
catch (Zend_Gdata_App_Exception $e) { echo "Error: " . $e->getResponse(); }
?>
<h1><?php echo $feed->title; ?></h1>
<p><?php echo $feed->totalResults; ?> event(s) found.<p/>
<ol>
<?php
foreach ($feed as $event)
{
echo "<li>\n";
echo "<h2>" . stripslashes($event->title) . "</h2>\n";
echo stripslashes($event->summary) . " <br/>\n";
echo "</li>\n";
}
echo "</ul>";
?>
</ol>
</body>
</html>
이 파일의 URL이 IFrame을의 원인 :
여기 젠드 가타 라이브러리를 사용하는 예입니다.
행운과 행복 코딩.
신을 위해서. Zend Framework, Zend는 회사입니다. – markus