Вызов API RPX auth_info возвращает ошибку «отсутствует параметр» - PullRequest
0 голосов
/ 16 февраля 2010

Я не могу заставить вызов API RPX auth_info работать. Он продолжает выдавать сообщение об ошибке: «Отсутствует параметр: apiKey». Я использую класс помощника RPX C #, предоставленный на их вики:

Ниже приведен мой код в моем методе Page_Load. Служба RPX работает, отправляя POST на указанный мной URL. Мой код получает токен из данных поста, показанных ниже. Затем я вызываю метод AuthInfo API.

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

Все выглядит хорошо. Токен заполнен. В их коде пара значений «apiKey» добавляется к данным записи, записанным в поток запросов. Кому-нибудь повезло с этим? Есть идеи, почему это не работает? Спасибо.

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

Пример кода RPX не очень понятен. Я получал ошибку 404 при вызове метода ApiCall.

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]);
        }
    }
0 голосов
/ 31 марта 2010

Нашел ответ для всех, кто ищет. Пример кода - мусор.

Вам необходимо установить базовый URL-адрес на https://rpxnow.com - при условии, что код неправильный. Я могу опубликовать предоставленный URL, но он должен быть более HTTP S , а не HTTP

...