繁体   English   中英

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

[英]How to use the access_token to get contents of my App

我需要使用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 Response。 我帮助使用了https://github.com/podio/podio-java/tree/master/src/main/java/com/podio,但没有用。 另请参阅https://developers.podio.com/authentication ,该页面也没有帮助。 现在,如何在我的Java代码中使用此access_token?

首先,切勿在此类网站上发布应用程序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();

您是否尝试过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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM