2012-11-30 20 views
18

Ben Genel takvim erişmeye çalışıyorum aracılığıyla izni almadan Google Takvim API erişme (Google Takvim) ulusal bayram içerir: takvim geneldirJavaScript

calendarId: 'pt_br.brazilian#[email protected]' 

olarak, ben mümkün olacağını düşündüm

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Login Required", 
    "locationType": "header", 
    "location": "Authorization" 
    } 
    ], 
    "code": 401, 
    "message": "Login Required" 
} 
} 
:

function OnLoadCallback() { 
    var config = { 
     client_id: '32j4lk32j5kj342l5h.googleuser.com', //fake client id 
     scope: 'https://www.googleapis.com/auth/calendar.readonly' 
    }; 
    gapi.client.setApiKey('fId345AM20HXXXXXXXXXXXXXXXXgT3f9kyp2REfkaw2'); //fake api key 
    gapi.client.load('calendar', 'v3', function() { 
     var today = new Date(), 
      request; 

     request = gapi.client.calendar.calendarList.get({ 
      calendarId: 'pt_br.brazilian#[email protected]', 
      timeMin: (new Date(today.getFullYear(), today.getMonth(), today.getDay(), 0, 0, 0, 0)).toISOString(), 
      timeMax: (new Date(today.getFullYear(), today.getMonth(), today.getDay(), 23, 59, 59, 999)).toISOString(), 
      fields: 'items(creator(displayName,email),end,endTimeUnspecified,start,summary)' 
     }); 

     request.execute(function(response) { 
      window.alert('length of items: ' + response.items.length); 
     }); 

    }); 
} 

Ancak, ben bir 401 (yetkisiz) hatadır şu yanıtı, almaya devam: erişim sadece API Anahtarını kullanarak

Birisi yapmaya çalıştığım şeyin erişilebilir olup olmadığını netleştirebilir mi?
Ve son olarak eğer mümkün ise - mevcut koduma atıfta bulunmak için neyi değiştirmek zorundayım?

cevap

31

jQuery'yi kullanarak aynı şeyi yapabildim.

var mykey = 'your_api_key'; // typically like Gtg-rtZdsreUr_fLfhgPfgff 
var calendarid = 'you_calendar_id'; // will look somewhat like [email protected] 

$.ajax({ 
    type: 'GET', 
    url: encodeURI('https://www.googleapis.com/calendar/v3/calendars/' + calendarid+ '/events?key=' + mykey), 
    dataType: 'json', 
    success: function (response) { 
     //do whatever you want with each 
    }, 
    error: function (response) { 
     //tell that an error has occurred 
    } 
}); 

aşağıdaki yaptın emin olmak gerekir Ancak: -


1) https://code.google.com/apis/console
2'de bir proje Kayıt) tuşuna bir Basit API Erişim
3) Takvim olun üret API, hizmetler altında etkinleştirilir.

daha fazla örnekle https://developers.google.com/google-apps/calendar/firstapp

+0

de, yukarıda gösterilen Gelen öğeleri sıralamak için nasıl bir başvuru olması ne olacağını mi? – blackhawk

+0

@blackhawk Yanıtı konsol.log yapabilir ve içinde ne olduğunu görebilirsiniz. – Gulpener

+0

@ sola-oderinde Takviminizin kimliğini nasıl buldunuz? * düzenleme google takvim ayarlarında bunu buldum. Ayrıca FYI, takviminiz halka açık olmadığı sürece 404'e kadar çıkacaktır. – IamFace