2014-04-30 2 views
0

이 코드를 시도했지만 결과가 표시되지 않고 404 오류 메시지가 표시됩니다. 범위가 누락되었다고 말하는 다른 방법을 사용해 보았습니다.이벤트 및 수신 된 오류를 나열 할 수 없습니다. 404

<?php 
session_start(); 
error_reporting(E_ALL); 
require_once "Google/Client.php"; 
require_once "Google/Service/Calendar.php"; 

$client = new Google_Client(); 

/************************************************ 
    ATTENTION: Fill in these values! Make sure 
    the redirect URI is to this page, e.g: 
    http://localhost:8080/user-example.php 
************************************************/ 
$client_id = ''; 
$client_secret = ''; 
$redirect_uri = 'http://localhost/listgoogleuser.php'; 

/************************************************ 
    Make an API request on behalf of a user. In 
    this case we need to have a valid OAuth 2.0 
    token for the user, so we need to send them 
    through a login flow. To do this we need some 
    information from our API console project. 
************************************************/ 
$client = new Google_Client(); 
$client->setClientId($client_id); 
$client->setClientSecret($client_secret); 
$client->setRedirectUri($redirect_uri); 
$client->addScope("https://www.googleapis.com/auth/calendar"); 

$service = new Google_Service_Calendar($client); 

/************************************************ 
    If we're logging out we just need to clear our 
    local access token in this case 
************************************************/ 
if (isset($_REQUEST['logout'])) { 
    unset($_SESSION['access_token']); 
} 

/************************************************ 
    If we have a code back from the OAuth 2.0 flow, 
    we need to exchange that with the authenticate() 
    function. We store the resultant access token 
    bundle in the session, and redirect to ourself. 
************************************************/ 
if (isset($_GET['code'])) { 
    $client->authenticate($_GET['code']); 
    $_SESSION['access_token'] = $client->getAccessToken(); 
    $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; 
    header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL)); 
} 

/************************************************ 
    If we have an access token, we can make 
    requests, else we generate an authentication URL. 
************************************************/ 
if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { 
    $client->setAccessToken($_SESSION['access_token']); 
} else { 
    $authUrl = $client->createAuthUrl(); 
} 


$events = $service->events->listEvents('URL HERE'); 


foreach($events['items'] as $datauser){ 

echo $datauser['summary']; 

} 

?> 

답변

0

나를 위해 내가하려고했던 모든 메소드가 종료 되었더라도 나는 이상 시작 위 제공된 코드를 사용 일석이조 너무 작동하지 않는, 같은 문제가되었다. 다음 코드 줄을 제거했습니다.

$events = $service->events->listEvents('URL HERE'); 

foreach($events['items'] as $datauser){ 
    echo $datauser['summary']; 
} 

마지막으로이 코드를 추가했는데 응답을받을 수있었습니다.

<div class="box"> 
<div class="request"> 
<?php if (isset($authUrl)): ?> 
    <a class='login' href='<?php echo $authUrl; ?>'>Connect Me!</a> 
<?php else: ?> 
    <? 
    $calendarList = $service->calendarList->listCalendarList(); 

    while(true) { 
     foreach ($calendarList->getItems() as $calendarListEntry) { 
      echo $calendarListEntry->getSummary()." | ".$calendarListEntry->getId()."<br/>"; 
     } 
     $pageToken = $calendarList->getNextPageToken(); 
     if ($pageToken) { 
      $optParams = array('pageToken' => $pageToken); 
      $calendarList = $service->calendarList->listCalendarList($optParams); 
     } else { 
      break; 
     } 
    } 
    ?> 
    <a class='logout' href='?logout'>Logout</a> 
<?php endif ?> 
</div> 
<?php if (isset($short)): ?> 
    <div class="shortened"> 
     <?php var_dump($short); ?> 
    </div> 
<?php endif ?> 
</div> 

또한 페이지의 상단에 당신은 두 번 $client = new Google_Client();를 호출합니다.

관련 문제