현재 Blogger API가있는 Android의 사용자 블로그 목록 (현재 사용자의 블로그)을 얻으려고합니다. 이 튜토리얼의 메소드 Authorizing Google for REST APIs을 사용하여 로그인 한 계정에 OAuth2 토큰을 연결했습니다.Blogger API를 사용하여 현재 사용자의 블로그 목록을 검색하는 방법
블로거 API 문서는 인증 헤더로 OAuth2를 토큰을 제공 한 경우 설명으로, self
로 userID
을 내가 요청이 https://www.googleapis.com/blogger/v3/users/userId/blogs
으로 목록을 가져올 수 있음을, 내가 대체 할 수 있다고 말한다 :
https://www.googleapis.com/blogger/v3/users/self/blogs
인증 GET : 여기에/*의 OAuth 2.0 토큰을 */
그래서 나는 공을 만든 1,239,사용하여 발리는 :
String url = "https://www.googleapis.com/blogger/v3/users/self/blogs";
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
tv.setText("Response is: " + response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", mToken);
return headers;
}
};
MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);
MySingleton
클래스는 Setting Up a Request Queue에서 복사 :
public class MySingleton {
private static MySingleton mInstance;
private RequestQueue mRequestQueue;
private ImageLoader mImageLoader;
private static Context mCtx;
private MySingleton(Context context) {
mCtx = context;
mRequestQueue = getRequestQueue();
mImageLoader = new ImageLoader(mRequestQueue,
new ImageLoader.ImageCache() {
private final LruCache<String, Bitmap>
cache = new LruCache<String, Bitmap>(20);
@Override
public Bitmap getBitmap(String url) {
return cache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap) {
cache.put(url, bitmap);
}
});
}
public static synchronized MySingleton getInstance(Context context) {
if (mInstance == null) {
mInstance = new MySingleton(context);
}
return mInstance;
}
public RequestQueue getRequestQueue() {
if (mRequestQueue == null) {
// getApplicationContext() is key, it keeps you from leaking the
// Activity or BroadcastReceiver if someone passes one in.
mRequestQueue = Volley.newRequestQueue(mCtx.getApplicationContext());
}
return mRequestQueue;
}
public <T> void addToRequestQueue(Request<T> req) {
getRequestQueue().add(req);
}
public ImageLoader getImageLoader() {
return mImageLoader;
}
}
이 코드를 실행 한 후, 그것이 내가 로그인하고 있지 않다라고 말하는 나에게 401 오류를 제공 내가 무슨 일을하고있는 중이 야. ?
미리 감사드립니다.