我正在尝试通过以下的java程序对基于OAuth的Quickbook API进行身份验证,
OAuthAuthorizer authorizer = new OAuthAuthorizer(consumerKey,
consumerSecret, accessToken, accessTokenSecret);
try {
Context context = new Context(authorizer, apptoken,
ServiceType.QBO, realmID);
DataService service = new DataService(context);
Customer customer = getCustomer();
service.addAsync(customer, new CallbackHandler() {
@Override
public void execute(CallbackMessage message) {
// TODO Auto-generated method stub
System.out.println(message.getAttachableResponse());
}
});
} catch (FMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我提供了消费者密钥,消费者密钥,访问令牌,访问密钥令牌,应用令牌和realmId的值,但我仍然得到一个跟随的例外,
com.intuit.ipp.exception.FMSException: ERROR CODE:3200, ERROR
MESSAGE:message=Exception authenticating OAuth; errorCode=003200; statusCode=401, ERROR DETAIL:null
我做错了什么或遗失了什么?
答案 0 :(得分:1)
看起来你正在收到“401 Unauthorized”回复。通常,这表示您未发送OAuth凭据,或者它们无效。
您确定我们的OAuth令牌有效吗?你确定他们没有过期吗?您是否通过了三脚OAuth流程来获取OAuth令牌?