J'essaie d'écrire un script qui marque tous mes éléments de flux comme lus dans Google Reader. Cela devrait être aussi simple que de publier 4 variables sur un lien API. Cependant, la seule façon de réussir un POST HTTP sur Google sans récupérer une erreur 400 est un HTML POST POST simple comme suit. J'ai essayé PHP cURL mais je reçois une erreur 400 de Google indiquant que j'ai fait une mauvaise demande de client.API Google Reader - Marquer tout comme lu
<form method="post" action="http://www.google.com/reader/api/0/mark-all-as-read">
<input type="hidden" name="s" value="user/10408189040522127442/state/com.google/reading-list" />
<input type="hidden" name="t" value="Your reading list" />
<input type="hidden" name="ts" value="<?php echo time(); ?>" />
<input type="hidden" name="T" value="<?php session_start(); echo $_SESSION['token']; ?>" />
<input type="button" value="Mark All As Read" /></form>
Soumettre les mêmes détails en utilisant un formulaire HTML (comme je l'ai essayé avec cURL) fonctionne très bien, marquer avec succès tous les éléments comme lus mais parce que le FORM ACTION est réglé sur un site externe, vous êtes redirigé vers ce sur présentation . Pour contourner cela, j'ai essayé de faire une soumission AJAX FORM avec ce qui suit, donc il n'y a pas de redirection mais cela ne fonctionne pas et rien n'est soumis.
$(document).ready(function(){
$("input[type=button]").click(function() {
$.post($('form').attr("action"), $('form').formSerialize());
});
});
Quelqu'un peut-il vous conseiller? 1) Pourquoi un POST cURL ne fonctionne-t-il pas mais un simple HTML FORM POST le fait? 2) Pourquoi ne puis-je pas (silencieusement) soumettre le formulaire HTML avec une soumission AJAX?