DIYCode API 登陆问题请教

Android · run · 于 发布 · 最后由 marcello回复 · 425 次阅读
96

第一步调用https://www.diycode.cc/oauth/tokenToken登录后得到以下
Token{access_token='26d4592258f531b64448a27ba9e0df100d623d109652dda4326800065e7fa780', token_type='bearer', expires_in=5184000, refresh_token='5769762d8263e3561aefba71eb00c56e76befd520efee05245d41f8b57fd2fe4', created_at=1501257467}
此时应该是登陆成功了吧

但是紧接着我调用users/me.json这个接口
https://diycode.cc/api/v3/users/me.json
返回401 {"error":"Access Token 无效"}
但是这个接口不需要传token啊

共收到 7 条回复
96
run · #1 ·

难道是cookie的问题?

2楼 Deleted
3919 1490164546
sneider · #3 ·

#1楼 @run 这个接口需要传token的

96
run · #4 ·

#3楼 @sneider 放在header里面吗 这个接口是没有token参数的吧https://www.diycode.cc/api#route-/users/me.json

3919 1490164546

#4楼 @run 是的,这个接口都没有传用户名,你如果不传token,后台无法知道你当前登录的是哪个用户

96
run · #6 ·

给后来者
https://github.com/GcsSloop/diycode-sdk/blob/master/sdk/src/main/java/com/gcssloop/diycode_sdk/api/base/impl/BaseImpl.java


        // 为所有请求自动添加 token
        Interceptor mTokenInterceptor = new Interceptor() {
            @Override
            public okhttp3.Response intercept(Chain chain) throws IOException {
                Request originalRequest = chain.request();
                // 如果当前没有缓存 token 或者请求已经附带 token 了,就不再添加
                if (null == mCacheUtil.getToken() || alreadyHasAuthorizationHeader(originalRequest)) {
                    return chain.proceed(originalRequest);
                }
                String token = OAuth.TOKEN_PREFIX + mCacheUtil.getToken().getAccess_token();
                // 为请求附加 token
                Request authorised = originalRequest.newBuilder()
                        .header(OAuth.KEY_TOKEN, token)
                        .build();
                return chain.proceed(authorised);
            }
        };
96
marcello · #7 ·

我想请教一下,怎么样才能获得token呢?应用我都注册好了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册