2011-04-23 6 views
2

PROBLÈME: 2ème appel à l'api graphique échoue à chaque fois avec 400 Bad Request erreurgraphique ASP.NET Facebook api

Si je fais les choses suivantes, je ne peux jamais passé # 4.

  1. Authentifiez-vous avec Facebook pour obtenir authtoken. Il redirige vers la page avec le code querystring param

  2. je reçois le authtoken de et faire un param appel à la chaîne url suivante url = « https://graph.facebook.com/me?access_token= » + Jeton; (tout appel api graphique fonctionne bien sur le premier appel)

  3. Je récupère des données json. Aucun problème. Maintenant, j'ai l'information d'identification de facebook.

  4. J'essaie de répéter le processus. Chaque appel au https://graph.facebook.com/me/xxxxxx échoue. Si j'essaie d'obtenir un nouveau jeton ou d'utiliser le jeton initial, j'obtiens une erreur Bad Request 400.

Il doit y avoir un ordre d'opérations qui doit se produire (demandes et obtenir des jetons) que je ne comprends pas.

(IL PAS UNE apikey ou apisecret PROBLÈME)

+0

400/Demande incorrecte signifie que l'URL peut être mal formée ou que vous ne fournissez pas les informations correctes. Pouvez-vous donner des exemples spécifiques des URL des demandes qui ont échoué pour vous? –

+0

J'ai eu un problème similaire où le deuxième appel a échoué avec l'erreur 500. Quand j'ai changé à l'aide d'un utilisateur «réel» au lieu d'un utilisateur de test, il a bien fonctionné à nouveau. – Christian

Répondre

-1

Essayez this API, ce qui est nouveau et pris en charge. (c'est-à-dire que je le supporte) Voir si c'est l'authentification qui résout votre problème. Si vous êtes comme moi, cela vous aurait épargné des heures de travail. Vaut bien les 50 dollars.

2

Ce que vous décrivez devrait fonctionner. Assurez-vous que lorsque vous obtenez l'erreur 400-Bad Request, vous interceptez WebException et lisez le contenu de la réponse. Il devrait vous fournir la raison pour laquelle l'appel de l'API a échoué. La partie catch de votre bloc try/catch ressemblerait à ceci:

catch (WebException ex) 
{ 
    using (StreamReader reader = new StreamReader(ex.Response.GetResponseStream())) 
    { 
     string jsonMessageString = reader.ReadToEnd(); 
    } 
}