我正在使用此代码获取令牌:
token = GoogleAuthUtil.getToken(GuiManager.getMainActivity(), email, scope);
电子邮件的用户电子邮件范围为:oauth2:https://www.googleapis.com/auth/youtube
然后我想通过此网址获取用户播放列表:
https://www.googleapis.com/youtube/v3/playlists?part=snippet&mine=true&maxResults=50&fields=items/id,items/snippet/title&key=DEVELOPER_KEY&access_token=token
使用此代码:
AsyncHttpClient client = new AsyncHttpClient();
client.get(playlistUrl, new AsyncHttpResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onSuccess(int statusCode, Header[] headers,byte[] response) {
}
@Override
public void onFailure(int statusCode, Header[] headers,byte[] errorResponse, Throwable e) {
GoogleAuthUtil.invalidateToken(GuiManager.getMainActivity(), token);
token = "";
token = GoogleAuthUtil.getToken(GuiManager.getMainActivity(), email, scope);
//Try load playlist again Function
}
@Override
public void onRetry(int retryNo) {
// called when request is retried
}
});
我得到:
状态代码401.和:error=invalid_token
知道我的代码有什么问题吗?
在iPhone中我使用secretid
和clientid
登录Google
,在这里我可以看到我只需要范围和用户电子邮件。
答案 0 :(得分:1)
我建议您使用GoogleAccountCredential而不是GoogleAuthUtil。 这是一个使用它的示例应用:https://github.com/youtube/yt-direct-lite-android/blob/master/src/com/google/ytdl/MainActivity.java