J'ai une extension firefox qui demande différentes API via XMLHttpRequest. Cependant, la demande de nombre de like/share/commentaires sur facebook conduit à une déconnexion dans certaines boutiques en ligne et certains sites web.
Par exemple, le webmail GMX doit restaurer la session après chaque clic. Certains magasins en ligne semblent perdre complètement la session, ce qui fait que le panier est vide.
Le problème ne se produit que lorsque la requête facebook est activée.
URL de la demande
http://api.facebook.com/method/fql.query?query=SELECT%20normalized_url,%20share_count,%20like_count,%20comment_count,%20click_count,%20total_count%20FROM%20link_stat%20WHERE%20url=%22www.heise.de%22&format=JSON
Code Javascript pour la requête
var querystring = facebookURL + encodedUrl + facebookURLParams; // looks like the above
var mFacebookRequest = new XMLHttpRequest();
mFacebookRequest.onload = parseFacebookResponse;
mFacebookRequest.open( "GET", querystring );
// already tried without user-agent
mFacebookRequest.setRequestHeader( "User-Agent", "Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big; Windows XP 5.1)" );
Fonction parseFacebookResponse
function parseFacebookResponse() {
var fbcount = "-";
var share_count = 0;
var like_count = 0;
var comment_count = 0;
var aDoc = mFacebookRequest.responseText;
if( aDoc == null || aDoc == -1 || aDoc.length == 0 )
{
} else {
var jsonDoc = JSON.parse( aDoc );
var temp = jsonDoc[0];
share_count = parseInt(temp['share_count']);
like_count = parseInt(temp['like_count']);
comment_count = parseInt(temp['comment_count']);
}
Le code fonctionne parfaitement et les chiffres sont affichés. Mais il m'empêche de me déconnecter. Une idée ?