0

En utilisant l'API Google Javascript, j'essaie de m'authentifier (localement) pour créer un nouvel événement dans mon calendrier. Cependant, j'obtiens une erreur (voir ci-dessous) indiquant que mon paramètre "suivant" est mauvais ou manquant quand j'exécute la partie de connexion du script. Je suis les données API interactive samples pour "Créer un seul événement".Authentification API Google

Mise à jour 1: Dans la barre d'adresse, je vois « suivant » définir la manière suivante:

next=file:///C:/calext/sending_data.html 

que Google ne fait comme des fichiers locaux? Solution de contournement?

Mise à jour 2: J'ai essayé d'exécuter le fichier sur mon hébergeur. La page a couru (a jeté quelques erreurs) mais l'événement a fini sur mon calendrier. Donc, le bug se situe quelque part avec ne pas aimer les fichiers locaux. Pensées?

Message d'erreur:

La page que vous avez demandée ne peut être affichée . Un autre site demandait l'accès à votre compte Google, mais a envoyé une demande mal formée. S'il vous plaît contacter le site que vous essayiez à utiliser lorsque vous avez reçu ce message pour les informer de l'erreur. Un message d'erreur détaillé s'affiche:

Le paramètre "suivant" était incorrect ou manquant.

code Ma page:

<html> 

<head> 
<script type="text/javascript" src="http://www.google.com/jsapi"></script> 
</head> 

<body> 

<img src="128.png"> 

<script type="text/javascript"> 
var myService; 
var feedUrl = "https://www.google.com/calendar/feeds/default/private/full"; 

google.load("gdata", "1"); 
google.setOnLoadCallback(getMyFeed); // starts process 

// Create a single event example 
function doExample() 
{ 
    var calendarService = myService; 

    // The default "private/full" feed is used to insert event to the 
    // primary calendar of the authenticated user 
    var feedUri = 'http://www.google.com/calendar/feeds/default/private/full'; 

    // Create an instance of CalendarEventEntry representing the new event 
    var entry = new google.gdata.calendar.CalendarEventEntry(); 

    // Set the title of the event 
    entry.setTitle(google.gdata.Text.create('JS-Client: insert event')); 

    // Create a When object that will be attached to the event 
    var when = new google.gdata.When(); 

    // Set the start and end time of the When object 
    var startTime = google.gdata.DateTime.fromIso8601("2010-10-24T09:00:00.000-05:00"); 
    var endTime = google.gdata.DateTime.fromIso8601("2010-10-24T10:00:00.000-05:00"); 
    when.setStartTime(startTime); 
    when.setEndTime(endTime); 

    // Add the When object to the event 
    entry.addTime(when); 

    // Submit the request using the calendar service object 
    calendarService.insertEntry(feedUri, entry, handleMyFeed, handleError, google.gdata.calendar.CalendarEventEntry); 
} 

function handleMyFeed(myResultsFeedRoot) 
{ 
    alert("This feed's title is: " + myResultsFeedRoot.feed.getTitle().getText()); 
} 

function handleError(e) 
{ 
    alert("There was an error!"); 
    alert(e.cause ? e.cause.statusText : e.message); 
} 

function getMyFeed() 
{ 
    // Set up my service 
    myService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0'); 

    // Log me in 
    var scope = "https://www.google.com/calendar/feeds/"; 
    var token = google.accounts.user.login(scope); 

    // Create a single event example 
    doExample(); 

    // Get my feed 
    myService.getEventsFeed(feedUrl, handleMyFeed, handleError); 
} 

</script> 

</body> 
</html> 

Répondre

0

Je suppose que votre ouverture d'un fichier local qui nécessite un fichier local. Par défaut, les URIs file: // ne peuvent pas lire d'autres fichiers: // URI. Essayez d'ajouter ce paramètre de ligne de commande, il est spécialement conçu pour aider les développeurs à tester:

chrome --allow-file-access-from-files