2014-02-19 110 views
3

我正在使用适用于Java的Google Cloud Platform API(google-api-services-storage-v1beta2-rev39-1.17.0-rc)。Google Cloud Platform API - >“OAuth客户端已删除。”错误

对于几个月这是工作正常,但现在我得到了以下错误,当我执行一个操作。

我没有找到错误出现的原因。我检查了是否有新版本的API,但v1beta2-rev39-1.17.0-rc是最后一个。

完整的堆栈跟踪

2014-36-19 12:36:11.791 [qtp1800676648-24 - PUT /track_processing/process/39793ae0-f936-4ef1-9629-bd36bc5aa469] ERROR com.xxx.common.cloud_storage.GoogleCloudStorageService - Error without Json body.com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request{ 
    "error" : "invalid_client", 
    "error_description" : "The OAuth client was deleted."} 
    at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.auth.oauth2.Credential.executeRefreshToken(Credential.java:570) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:489) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.auth.oauth2.Credential.intercept(Credential.java:217) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:859) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequestWithoutGZip(MediaHttpUploader.java:545) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.googleapis.media.MediaHttpUploader.executeCurrentRequest(MediaHttpUploader.java:562) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.googleapis.media.MediaHttpUploader.executeUploadInitiation(MediaHttpUploader.java:519) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.googleapis.media.MediaHttpUploader.resumableUpload(MediaHttpUploader.java:384) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:336) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:418) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343) ~[track_processing.jar:0.0.1-SNAPSHOT] 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460) ~[track_processing.jar:0.0.1-SNAPSHOT] 

这是执行的代码

public URL upload(final InputStream mediaStream, long mediaStreamSize, final String filename) throws IOException { 
     InputStreamContent mediaContent = new InputStreamContent(MediaType.APPLICATION_OCTET_STREAM, mediaStream); 
     if (mediaStreamSize > 0) 
      mediaContent.setLength(mediaStreamSize); // Only an estimate, but allows google to optimize the upload 

     StorageObject objectMetadata = new StorageObject().setName(filename) 
       .setAcl(Lists.newArrayList(new ObjectAccessControl().setEntity("allUsers").setRole("READER"))) 
       .setContentDisposition("attachment"); 

     Storage.Objects.Insert insertObject = client.objects() 
                .insert(storageConfiguration.getBucketName(), 
                  objectMetadata, 
                  mediaContent); 

     insertObject.getMediaHttpUploader() 
        .setProgressListener(new UploadProgressListener(mediaStreamSize > 0)) 
        .setDisableGZipContent(true); 

     if (mediaContent.getLength() > 0 && mediaContent.getLength() <= 2 * 1000 * 1000) { 
      logger.info("{} is a small file (<2mb)", filename); 
      insertObject.getMediaHttpUploader().setDirectUploadEnabled(true); 
     } 

     return new URL(insertObject.execute().getSelfLink()); 
    } 

问候, 伊格纳西奥

+1

这听起来像您的帐户可能被禁用。您可以在云端控制台上查看您的账单状态吗? – jterrace

+1

账单状态正常。 Json API已激活。谷歌文档说:“转到Google Developers Console 选择一个项目 在左边的边栏中,选择APIs&auth。在显示的API列表中,确保Google Cloud Storage JSON API状态设置为ON 。 在左侧边栏中,选择已注册的应用 选择一个应用 展开浏览器密钥或服务器密钥部分。但不显示“注册的应用程序”选项。 –

+1

您可以使用您的项目ID和存储桶名称向[email protected]发送电子邮件吗? – jterrace

回答

1

这个问题似乎已经为一个堆栈溢出正常流程外解决题。我不知道是应该删除还是根据公约的规定自行回答。考虑这个地标标记的答案,以防止这个解决的问题出现未解决。

相关问题