0

내 웹 사이트의 일반/일반 방문자없이 내 웹 페이지에서 정해진 양식으로 모든 공개 캘린더의 모든 이벤트를 나열하려고합니다. 어떤 식 으로든 로그인하거나 인증하십시오. 나는 v1과 젠드 프레임 워크를 사용하여 2010 년 12 월부터 이것을 해왔다. 2014 년 11 월 17 일에 Google은 v1 및 v2를 사용 중지했으며 현재 웹 페이지가 손상되었습니다. Google 캘린더 API v3 서비스를 사용하여 연결할 캘린더를 정의하는 방법

  • GitHub의에서 내 서버에 PHP 클라이언트 라이브러리 설치 (달력 API 켜져

    1. 는 구글 개발자 콘솔
    2. 에서 프로젝트를 만든 : 여기

      내가 지금까지 한 일이다 어제 - 1.1.1 버전)
    3. JSON PHP 확장 프로그램이 내 서버에 설치되었습니다.
    4. OAuth 2.0 자격증 명
    5. 0 개

      다음
      require_once 'autoload.php'; // 2014-11-24 part of /usr/local/lib/php/google-api-php-client 
      $client = new Google_Client(); 
      $client->setApplicationName("One_of_my_Calendars"); 
      $client->setDeveloperKey("MY-PUBLIC-API-ACCESS-KEY"); // 2014-11-24 my Public API Access Key 
      $service = new Google_Service_Calendar($client); 
      $results = $service->events->listEvents('primary'); 
      

      가 있습니다 :

    6. 내 캘린더 (그들은 2010 년 12 월부터 있었다) 여기

  • 내 코드 여전히 공개적으로 볼 수있는 보장 키 공개 API 액세스를 생성 오류 메시지 나는 점점 :

    Fatal error: Uncaught exception 'Google_Service_Exception' with message 'Error calling GET https://www.googleapis.com/calendar/v3/calendars/primary/events?key=MY-PUBLIC-API-ACCESS-KEY: (403) Access Not Configured. The API is not enabled for your project, or there is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your configuration.' in /usr/local/lib/php/google-api-php-client/src/Google/Http/REST.php:76 Stack trace: #0 /usr/local/lib/php/google-api-php-client/src/Google/Http/REST.php(41): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request)) #1 /usr/local/lib/php/google-api-php-client/src/Google/Client.php(548): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request)) #2 /usr/local/lib/php/google-api-php-client/src/Google/Service/Resource.php(190): Google_Client->execute(Object(Google_Http_Request)) #3 /usr/local/lib/php/google-api-php-client/src/Google/Servi in /usr/local/lib/php/google-api-php-client/src/Google/Http/REST.php on line 76 
    

    스크린 샷 : 당신이 필요

    문제 1 번 :

    https://drive.google.com/file/d/0Bytqhoir_Tt5ODRaNzRvS2FZRWs/view?usp=sharing https://drive.google.com/file/d/0Bytqhoir_Tt5MzlqLWF2Q3M2bUk/view?usp=sharing

    +1

    oauth2 부분이 누락되었습니다. 달력 서비스를 만들기 전에 인증을 받아야합니다. – DaImTo

    +0

    Ok @DalmTo하지만 공개 API 액세스 키를 통해이 작업을 수행 할 수 있다고 생각했습니다. (문서는 공개 액세스 키 또는 OAuth 2.0과 같은 이벤트 목록을 가져 오는 두 가지 방법을 암시하는 것으로 보입니다. 내 웹 페이지/웹 서비스는 어디에서나 일반 또는 일반 방문자에게 이벤트를 나열합니다. 사람들이 어떤 방식 으로든 로그인해야하는 것을 원합니다. –

    +1

    Oauth2에서는 다른 사용자의 일정에 액세스 할 수 있습니다. 서비스 계정을 사용하면 하나의 중앙 달력을 가지고 해당 정보를 다른 사람들에게 표시 할 수 있습니다. 너 정확히 뭘 하려구? – DaImTo

    답변

    2

    공용 달력 (OAuth2를위한 그래서 필요가 없습니다)에 액세스하는 가정은 여전히 ​​두 가지 문제가 있습니다 개발자 콘솔에서 캘린더 API를 사용하는 프로젝트의 작동중인 API 키입니다.

    2 호는 인증되지 않고 "기본"키워드 사용을 나타냅니다. 액세스하려는 캘린더의 이메일 주소로 바꿉니다.

    +0

    문제 1 - 작동중인 API 키가 있고 캘린더 API가 활성화되어 있습니다 (켜짐) –

    +0

    문제 2 - '기본'을 캘린더의 이메일 주소로 변경했는데 다음 오류 메시지가 나타납니다. atal 오류 : 'Google_Service_Exception' 'GET https://www.googleapis.com/calendar/v3/calendars/google%40example.com/events?key=MY-PUBLIC-ACCESS-KEY에 전화하는 중 오류가 발생했습니다 : (403) 액세스가 구성되지 않았습니다. 프로젝트에 API가 사용 설정되어 있지 않거나 IP 키당 또는 Referer 제한이 API 키에 구성되어 있으며 요청이 이러한 제한 사항과 일치하지 않습니다. Google Developers Console을 사용하여 구성을 업데이트하십시오. ' –

    +0

    나의 스크린 샷보기 @luc - 내 질문에 덧붙여진 –