Использование приглашения LinkedIn со Scribe и Android

Привет, я использую Scribe для отправки приглашения LinkedIn, но я немного не знаю, как его использовать. Я создал тело XML в виде строки со всеми вставленными необходимыми значениями, но когда я делаю вызов API, приглашение не отправляется. Мой код выглядит следующим образом

        invite.setOnClickListener(new Button.OnClickListener() 
        {
            public void onClick (View v) 
            {
                inviteXml = inviteCreator.inviteString(to, subj, body, authName, authValue);

                titleField.setText("");


                call = "http://api.linkedin.com/v1/people/~/mailbox";
                request = new OAuthRequest(Verb.POST, call);
                //request.addPayload(inviteXml);
                request.addBodyParameter("body", inviteXml);
                service.signRequest(accessToken, request);
                response = request.send();
                nameField.setText(response.getBody());
                invite.setVisibility(View.GONE);
            }
        });

в строке request.addPayload(inviteXml); это приводит к сбою приложения. Строка request.addBodyParameter("body",invitXml); возвращает сообщение об ошибке xml со статусом 400 с кодом ошибки 0 и сообщением «Не удалось проанализировать документ элемента почтового ящика: ошибка: неожиданный конец файла после нулевого значения»

Я делаю это неправильно или я пропустил что-то важное? Я прочитал документацию LinkedIn, но, похоже, там не сказано, как добавить сообщение xml в вызов приложения.

Спасибо за любую помощь Джефф


person Jeff Finn    schedule 08.08.2011    source источник


Ответы (1)


Вы пытались указать Content-Lenght и Content-Type ?

Что-то вроде этого:

request.addHeader("Content-Length", Integer.toString(inviteXml.length())); request.addHeader("Content-Type", "text/xml");

request.addPayload(inviteXml);

person Dmitry Polishuk    schedule 09.08.2011
comment
, я пробовал это, но все еще получаю тот же ответ об ошибке, но он больше не падает на «request.addPayload (inviteXml)», не могли бы вы объяснить, что Content-Length и Content-Type являются общими заголовками для oAuth? будет ли работать что-то вроде 'request.addBody(Content-Length, Integer.toString(inviteXml.length()));' - person Jeff Finn; 11.08.2011