2010-02-16 6 views
0

Je ne parviens pas à faire fonctionner l'appel de l'API auth_info de RPX. Il continue à renvoyer l'erreur: "Paramètre manquant: apiKey" J'utilise la Classe d'assistance C# RPX fournie sur leur Wiki: RPX Helper ClassAppel API RPX auth_info renvoie une erreur "paramètre manquant"

Ci-dessous est mon code dans ma méthode Page_Load. Le service RPX fonctionne en envoyant un POST à ​​une URL que je spécifie. Mon code obtient le jeton à partir des données affichées ci-dessous. Ensuite, j'appelle la méthode API AuthInfo.

string token = Request.Params["token"]; 
string apiKey = "xxxxxxxxxxxxxxx"; //my API key 
Rpx rpx = new Rpx(apiKey, "http://rpxnow.com"); 
XmlElement xmlElement = rpx.AuthInfo(token); 

Tout semble bon. Le jeton est rempli. Dans leur code, la paire de valeurs "apiKey" est ajoutée aux données de poste écrites dans le flux de requête. Est-ce que quelqu'un a eu de la chance avec ça? Des idées pour lesquelles cela ne fonctionne pas? Merci.

Répondre

0

J'ai trouvé la réponse pour quelqu'un d'autre à la recherche. Exemple de code est déchets.

Vous devez définir l'URL de base sur https://rpxnow.com - le code fourni est incorrect. Je peux publier l'URL fournie, mais elle doit être sur HTTP S et non HTTP

0

L'exemple de code RPX n'est pas très clair. J'obtenais une erreur 404 lorsque la méthode ApiCall était appelée.

Javascript:

janrain.settings.tokenUrl = 'http://mydomain/Test.ashx'; 

test.ashx

public void ProcessRequest(HttpContext context) { 

     using (StreamWriter writer = new StreamWriter(context.Server.MapPath("/test.txt"))) { 
      var token = context.Request.Form["token"]; 
      writer.WriteLine("Token: " + token); 

      try { 
       var rpx = new Rpx("my_id", "https://rpxnow.com/"); 
       var authInfo = rpx.AuthInfo(token); 
       var doc = XDocument.Load(new XmlNodeReader(authInfo)); 
       writer.WriteLine(doc.Root.Descendants("displayName").First().Value); 
       writer.WriteLine(doc.Root.Descendants("identifier").First().Value); 
      } 
      catch (Exception ex) { 
       writer.WriteLine("Error: " + ex.Message); 
      } 

      foreach (string header in context.Request.Headers) 
       writer.WriteLine(header + " - " + context.Request.Headers[header]); 
     } 
    } 
Questions connexes