Вызов API RPX auth_info возвращает ошибку отсутствия параметра

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

Ниже мой код в моем методе Page_Load. Служба RPX работает путем отправки POST на указанный мной URL. Мой код получает токен из данных сообщения, показанных ниже. Затем я вызываю метод 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);

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


person James Lawruk    schedule 16.02.2010    source источник


Ответы (2)


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

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

person rival    schedule 31.03.2010

Пример кода 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]);
        }
    }
person pherbio    schedule 02.04.2012