我需要使用access_token访问我的podio应用,而不是使用用户名和密码。我尝试使用用户名和密码及其工作finr的代码。 我正在使用
ResourceFactory resourceFactory = new ResourceFactory(
new OAuthClientCredentials("usedClientId","usedClientSecret"),
new OAuthUsernameCredentials("abc@ggtd.com","Test123"));
APIFactory apiFactory = new APIFactory(resourceFactory);
ItemAPI itemAPI = apiFactory.getAPI(ItemAPI.class);
但我需要使用accesstoken,以便我可能不依赖于用户名和密码来访问应用程序。为此,我尝试使用
URL url = new URL("https://podio.com/oauth/token?granttype=app&appid=88069&apptoken=6a83845c6656ff4678a5eec668a10aa3e7&clientid=usedClientId-79unji&redirecturi=https://podio.com/abcd/workappname/apps/usedClient&client_secret=jIfs6qWsQJJ99eDDds1RMhmbKywAhsMtTYLFW8GVeFmmeAiCYOOdzDyc3yqdHBT");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Accept", "application/json");
我正在以JSON的形式获得响应,如
{
accesstoken: "ae566736ffdb414ab23320c9d169d8a"
tokentype: "bearer"
ref: {
type: "app"
id: 88069
}-
expiresin: 98800
refreshtoken: "96bbfb0dd9e74ac6ad456f44896c4d3e"
}
这是200响应。 我帮助使用https://github.com/podio/podio-java/tree/master/src/main/java/com/podio,但没有用。 另请参阅https://developers.podio.com/authentication,其中也没有帮助。 现在,我如何在我的java代码中使用此access_token?
答案 0 :(得分:0)
首先,永远不要在这样的网站上发布申请ID和秘密。
您可以使用任何JSON解析库来获取此信息,例如,GSON最简单的示例如下:
public class AuthInfo {
private String accesstoken, tokentype, ...
public String getAccessToken() {
return accesstoken;
}
}
// ...
Gson gson = new Gson();
String accessToken = gson.fromJson(response, AuthInfo.class).getAccessToken();
答案 1 :(得分:0)
您是否尝试过OAuthRefreshTokenCredentials?
您应该能够使用实现OAuthUserCredentials的OAuthRefreshTokenCredentials,并允许您使用refresh_token而不是user_name / password(OAuthUsernameCredentials中需要)。