如何检查 oauth 凭证在 Netsuite 中是否有效?

How to check oauth credentials are valid or not in Netsuite?

我可以获得访问令牌和机密,但它们有时无法正常工作。我收到诸如无效登录尝试之类的错误。我不知道如何解决这个问题。

我有 oauth 的所有凭据,这些是

  1. 消费者密钥
  2. 消费者秘密
  3. 账户编号
  4. 令牌 ID
  5. 令牌秘密
  6. 脚本 ID
  7. 部署 ID

我想知道我的团体或个人 oauth 凭据是否有效。

我认为唯一的方法是点击 SuiteTalk 或 RESTlet。

如果您使用的是 RESTlet,则必须确保用户可以在部署选项中访问 RESTlet。

我有一个使用 Java 的工作代码(使用 Scribe Java 库)可以找到

主要方法:

OAuthConfig authConfig = new OAuthConfig("CONSUMER_KEY", "CONSUMER_SECRET", null, SignatureType.Header, null, null);
    Token token = new Token("TOKEN_ID", "TOKEN_SECRET");
    OAuth10aServiceImpl auth10aServiceImpl = new OAuth10aServiceImpl(new NetSuiteApi(), authConfig);
    OAuthRequest request = new OAuthRequest(Verb.GET, "RESTLET_URL");
    request.setRealm("NS_ACCOUNT_ID");
    auth10aServiceImpl.signRequest(token, request);
    Response response = request.send();

您还需要编写 NetSuiteApi Class 扩展 DefaultApi10a

import org.scribe.builder.api.DefaultApi10a;
import org.scribe.model.Token;

public class NetSuiteApi extends DefaultApi10a {

@Override
public String getAccessTokenEndpoint() {
    // TODO Auto-generated method stub
    return null;
}

@Override
public String getAuthorizationUrl(Token arg0) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public String getRequestTokenEndpoint() {
    // TODO Auto-generated method stub
    return null;
}

}