如何使用access_token获取我的应用内容

时间:2015-07-02 08:28:15

标签: java json podio

我需要使用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?

2 个答案:

答案 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中需要)。

https://github.com/podio/podio-java/blob/master/src/main/java/com/podio/oauth/OAuthRefreshTokenCredentials.java