Εμφάνιση Google Calendar

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
diti
Δημοσιεύσεις: 54
Εγγραφή: 09 Ιαν 2004 17:41
Τοποθεσία: ΘΕΣΣΑΛΟΝΙΚΗ
Επικοινωνία:

Εμφάνιση Google Calendar

Δημοσίευση από diti » 23 Μαρ 2010 12:08

Καλημέρα σε όλους.
Προσπαθώ να εμφανίσω τη λίστα με τα ημερολόγια (calendar) που έχω στο google.
Από τη σελίδα της google: Google Calendar APIs and Tools στη σελίδα Data API Developer's Guide: JavaScript σύμφωνα με αυτά που διάβασα έγραψα το πρόγραμμα:

Κώδικας: Επιλογή όλων

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Calender 1</title>
<script type="text/javascript" src="http&#58;//www.google.com/jsapi">
</script>

<script type="text/javascript">
google.load&#40;"gdata", "1"&#41;;
google.setOnLoadCallback&#40;getMyFeed&#41;;
var myService;
var feedUrl = "http&#58;//www.google.com/calendar/feeds/ditiel@otenet.gr/public/full";

function setupMyService&#40;&#41; &#123;
  myService = new google.gdata.calendar.CalendarService&#40;'exampleCo-exampleApp-1'&#41;;
&#125;

function getMyFeed&#40;&#41; &#123;
 setupMyService&#40;&#41;;
 myService.getEventsFeed&#40;feedUrl, handleMyFeed, handleError&#41;;
&#125;

function handleMyFeed&#40;myResultsFeedRoot&#41; &#123;
 alert&#40;"This feed's title is&#58; " + myResultsFeedRoot.feed.getTitle&#40;&#41;.getText&#40;&#41;&#41;;
&#125;
function handleError&#40;e&#41; &#123;
 alert&#40;"There was an error!"&#41;;
 alert&#40;e.cause ? e.cause.statusText &#58; e.message&#41;;
&#125;

</script>

<script type="text/javascript">

// Create the calendar service object
var calendarService = new google.gdata.calendar.CalendarService&#40;'GoogleInc-jsguide-1.0'&#41;;

// The default "allcalendars" feed is used to retrieve a list of all
// calendars &#40;primary, secondary and subscribed&#41; of the logged-in user
var feedUri = 'http&#58;//www.google.com/calendar/feeds/default/allcalendars/full';

// The callback method that will be called when getAllCalendarsFeed&#40;&#41; returns feed data
var callback = function&#40;result&#41; &#123;

 // Obtain the array of CalendarEntry
 var entries = result.feed.entry;
 for &#40;var i = 0; i < entries.length; i++&#41; &#123;
   var calendarEntry = entries&#91;i&#93;;
   var calendarTitle = calendarEntry.getTitle&#40;&#41;.getText&#40;&#41;;
   PRINT&#40;'Calendar title = ' + calendarTitle&#41;;

 &#125;
&#125;

//Error handler to be invoked when getAllCalendarsFeed&#40;&#41; produces an error
var handleError = function&#40;error&#41; &#123;
 PRINT&#40;error&#41;;
&#125;

// Submit the request using the calendar service object
calendarService.getAllCalendarsFeed&#40;feedUri, callback, handleError&#41;;

</script>

</head>
<body>
<img src="Clip-art04.gif" style="position&#58; absolute; top&#58;-1000px;" />
</body>
</html>
αλλά βγάζει σφάλμα η σελίδα.

βρήκα τον επόμενο κώδικα όπου εμφανίζονται τα ημερολόγια αλλά στην αρχή εμφανίζει την σελίδα 'google λογαριασμοί' όπου ζητάει για την συγκεκριμένη σελίδα να γίνει 'Παροχή πρόσβασης'. Μόλις γίνει μετά εμφανίζει τα ημερολόγια.

Κώδικας: Επιλογή όλων

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http&#58;//www.w3.org/TR/html4/strict.dtd"> 
 <html> 
     <head> 
         <title>list calendar ??</title> 
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
         <script type="text/javascript" src="http&#58;//www.google.com/jsapi"> 
         </script> 
         <script type="text/javascript"> 
              
                   
             google.load&#40;"gdata", "1"&#41;; 
              
             //some global var 
             var FEED_URL = "http&#58;//www.google.com/calendar/feeds/"; 
             var gEventSource; 
             var calendarList = new Array&#40;&#41;;
             var calendarEntries = new Array&#40;&#41;; 
              
             function login&#40;&#41;&#123; 
                 var token = google.accounts.user.login&#40;FEED_URL&#41;; 
             &#125; 
              
             function logout&#40;&#41;&#123; 
                 google.accounts.user.logout&#40;&#41;; 
                 init&#40;&#41;; 
             &#125; 
              
             function init&#40;&#41;&#123; 
                 //alert&#40;"init"&#41;; 
                 
                 google.gdata.client.init&#40;errorHandler &#41;; 
                 var token = google.accounts.user.checkLogin&#40;FEED_URL&#41;; 

                 myService = new google.gdata.calendar.CalendarService&#40;"TimeStamp-Services"&#41;; 
                  
                 if &#40;token&#41; &#123; 
                     document.getElementById&#40;"logout-button"&#41;.style.display = "inline"; 
                     document.getElementById&#40;"login-button"&#41;.style.display = "none"; 
                     getCalendars&#40;&#41;; 
                 &#125; 
                 else &#123; 
                     document.getElementById&#40;"login-button"&#41;.style.display = "inline"; 
                     document.getElementById&#40;"logout-button"&#41;.style.display = "none"; 
 
                 &#125; 
             &#125; 
              
             google.setOnLoadCallback&#40;init&#41;; 
              
             function getCalendars&#40;&#41;&#123; 
                 var calendarService = new google.gdata.calendar.CalendarService&#40;'GoogleInc-jsguide-1.0'&#41;; 
                 var feedURL = 'http&#58;//www.google.com/calendar/feeds/default/allcalendars/full'; 
                  
                 alert&#40;"GET Calendar for &#58;" + feedURL&#41;; 
                 var callback = function&#40;result&#41;&#123; 
                     var entries = result.feed.entry; 
                     calendarEntries = entries; 
                     
                     calendarList = new Array&#40;&#41;; 
         
                     for &#40;var i = 0; i < entries.length; i++&#41; &#123; 
                         var calendarEntry = entries&#91;i&#93;; 
                         var calendarTitle = calendarEntry.getTitle&#40;&#41;.getText&#40;&#41;; 
                        
                         alert&#40;'Calendar title = ' + calendarTitle&#41;; 
                        
                     &#125; 
                     
                 &#125; 
                 calendarService.getAllCalendarsFeed&#40;feedURL, callback, errorHandler &#41;; 
             &#125; 
              
             var errorHandler = function&#40;error&#41;&#123; 
                 alert&#40;error&#41;; 
             &#125; 
         </script> 
     </head> 
     <body debug="false"> 
         <img src="./img/blue-circle.png"><h3>timeline</h3> 
         <h3>debug&#58;</h3> 
         <div id = "msg"> 
         </div> 
         <input id="logout-button" type="button" value="Logout" onclick="logout&#40;&#41;"> 
         </input><input id="login-button" type="button" value="Login" onclick="login&#40;&#41;"> 
         </input> 
         </body> 
     </html>  
Το θέμα είναι πώς μπορώ να δίνω τον χρήστη του google calendar που τον έχω σε ένα αρχείο και να μου εμφανίζει τα ημερολόγια του.
Γενικά να διαχειρίζομαι το ημερολόγιο μέσω κώδικα έτσι ώστε να μπορώ και να το ενημερώνω με εργασίες.

Αν μπορεί κάποιος να βοηθήσει.
Σας ευχαριστώ πολύ.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης