Skip to content

Commit 44a52ce

Browse files
srujithmSrujith Mallidi
andauthored
Throw invalid token exception for video import (#1222)
* Throw invalid token exception for video import Summary: Capture and throw invalid token exception for video import Test Plan: ./gradlew test --------- Co-authored-by: Srujith Mallidi <srujithm@fb.com>
1 parent dfa7c2e commit 44a52ce

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

  • extensions/data-transfer/portability-data-transfer-google/src/main/java/org/datatransferproject/datatransfer/google/videos

extensions/data-transfer/portability-data-transfer-google/src/main/java/org/datatransferproject/datatransfer/google/videos/GoogleVideosImporter.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
package org.datatransferproject.datatransfer.google.videos;
3333

3434
import com.google.api.gax.core.FixedCredentialsProvider;
35+
import com.google.api.gax.rpc.ApiException;
3536
import com.google.api.gax.rpc.InvalidArgumentException;
3637
import com.google.api.gax.rpc.UnauthenticatedException;
3738
import com.google.auth.oauth2.AccessToken;
@@ -325,6 +326,14 @@ private Pair<String, Long> uploadMediaItem(UUID jobId, VideoModel inputVideo,
325326
uploadToken = uploadResponse.getUploadToken().get();
326327
}
327328
return Pair.of(uploadToken, tmp.length());
329+
} catch (ApiException ex) {
330+
// temp check as exception is not captured and wrapped into UploadMediaItemResponse
331+
Throwable cause = ex.getCause();
332+
String message = cause.getMessage();
333+
if (message.contains("invalid_grant")) {
334+
throw new InvalidTokenException("Token has been expired or revoked", cause);
335+
}
336+
throw new IOException("An error was encountered while uploading the video.", cause);
328337
} finally {
329338
//noinspection ResultOfMethodCallIgnored
330339
tmp.delete();

0 commit comments

Comments
 (0)