angulaire 1.6 de http.jsonp $ ne joue pas bien avec l'API des feuilles google:
Je suis en train de chercher et récupérer mes données à partir de feuilles google, avec les éléments suivants:
var callback;
app.controller("meetingsTable", function ($scope, $http, $sce) {
var url = "http://spreadsheets.google.com/a/google.com/tq";
var trustedUrl = $sce.trustAsResourceUrl(url);
var key = 'MY_KEY';
var tq = 'select%20*%20limit%2010';
var tqx = 'responseHandler:callback';
var params = {
key: key,
tq: tq,
status: 'ok',
tqx: tqx
};
callback = function (response) {
console.log(response); // entering here, not to the promise
return response;
}
$http.jsonp(trustedUrl, { params: params }).then(function (response) {
console.log(response);
retrun;
//success things go here
}, function (response) {
//error things go here
});
});
Je succčs manged pour obtenir les données des feuilles, à l'aide d'une fonction (rappel), avec un js vnila, par quand j'ai essayé avec angulaire, je suis un " objet google.visualization.Query.setResponse "dans les sources, avec l'erreur de la console: Uncaught ReferenceError: google n'est pas défini.
La chose la plus ennuyante - la promesse ne reçoit pas la réponse, et je ne peux pas mettre à jour les valeurs de ma table ansyc. J'ai essayé tout ce que je pouvais penser (et toutes les suggestions en stackoverflow), choses que j'essayé:
- passage de l'URL comme il est, sans params, cuase MyaBe le sce.trustAsResourceUrl $ a besoin de l'ensemble url.
- passant sans $ sce (fonctionne dans vanila js, pas ici).
- nommant ma fonction de succès de promesse comme "callback".
- en vérifiant que toutes les valeurs de l'API des feuilles sont présentes (encore une fois, fonctionne avec vanila).
- appelant "callback" à l'intérieur de la promesse, en l'entrant comme une fonction à l'intérieur de la promesse.
- obtenir tout le jsonp dans une fonction qui renvoie la réponse, avec & sans la fonction de rappel.
- supprimer le rappel du paramètre "tqx = responseHandler: callback" tout ensemble.
- passer la promesse en tant que rappel dans le paramètre tqx.
- en utilisant le 1.5 < "JSON_CALLBACK", qui ne fonctionne pas avec la version 1.6.
- faire la demande avec le vanila js, puis de le passer à l'automate (ne fonctionne pas).
Si je me souviendrai de plus de choses, je vais mettre à jour ci-dessous.
s'il vous plaît, quelqu'un peut-il comprendre quel est le problème? VRAIMENT apprécier, Merci, Yoav.