何が悪いのか途方に暮れています。com.google.gdata.client.GoogleService$SessionExpiredException: Token invalid Token invalid
APIリクエストを行うときは常に取得しています。
次の流れがあります。
- ユーザーアカウントをリンク
- 認証情報を使用してビデオ アップロード エントリを取得する
ユーザーをリンクする (アプリケーションのアクセス許可を取得する) ために使用するコードは、 を使用してJdoDataStoreFactory
ユーザー トークンを保持し、API 呼び出し間で情報を更新します。
ユーザーにアプリの承認を求めるときは、次のスコープを使用しました。
https://www.googleapis.com/auth/youtube.upload
https://www.googleapis.com/auth/youtube.readonly
使用GoogleAuthorizationCodeFlow
してloadCredentials
、認証トークンを要求するときに使用したアプリケーションから userId を渡します。次に、これらの資格情報をYouTubeService
のgetFeed
メソッドにフィードし、ビデオ フィードの URL を要求します。http://gdata.youtube.com/feeds/api/users/default/uploads
次のようになります。
service.setOAuth2Credentials(credentials)
videoFeed = service.getFeed(new URL(USER_FEED_PREFIX + DEFAULT_USER
+ UPLOADS_FEED_SUFFIX), VideoFeed.class)
これが実行された後、私は常にスタックトレースを取得します:
com.google.gdata.client.GoogleService$SessionExpiredException: トークンが無効ですトークンが無効です
トークンが無効です
エラー 401
com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:570) で com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560) で com.google.gdata.client. .http.HttpGDataRequest.execute(HttpGDataRequest.java:538) com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:536) com.google.gdata.client.Service.getFeed(Service.java) :1135) com.google.gdata.client.Service.getFeed(Service.java:998) で com.google.gdata.client.GoogleService.getFeed(GoogleService.java:645) で com.google.gdata.client. Service.getFeed(Service.java:1017)
自分のサービスへのリクエストを開始する方法は、curl 経由です。コマンドは次のようになります。
curl http://localhost:8080/user/someUserId/content
Wireshark を使用すると、リクエストに次のように表示されます。
GET /feeds/api/users/default/uploads HTTP/1.1
Authorization: Bearer <the_auth_token_for_the_user>
User-Agent: MyApp YouTube-Java/1.0 GData-Java/null(gzip)
X-GData-Client: MyApp
Accept-Encoding: gzip
GData-Version: 2.0
Cache-Control: no-cache
Pragma: no-cache
Host: gdata.youtube.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
私は立ち往生しています。