您好我正在使用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”,inviteXml);返回错误xml消息,状态为400,错误代码为0,并且消息“无法解析邮箱项目文档:错误:空置后文件意外结束”
我是以错误的方式解决这个问题还是错过了重要的事情?我已经阅读了LinkedIn文档,但它似乎没有说明如何将xml消息添加到appi调用。
感谢您的帮助 杰夫
答案 0 :(得分:1)
您是否尝试过指定内容长度和内容类型?
这样的事情:
request.addHeader("Content-Length", Integer.toString(inviteXml.length()));
request.addHeader("Content-Type", "text/xml");
request.addPayload(inviteXml);