上传图片谷歌云存储错误IOS?

时间:2015-10-14 05:47:05

标签: ios objective-c google-client

这是我用google客户端API

将图片上传到谷歌云存储的代码
_serviceStorage= [GTLServiceStorage new];
_serviceStorage.APIKey = GoogleAPI ;
NSString *const kKeychainItemName = @"StorageSample: Google Cloud Storage";
GTMOAuth2ViewControllerTouch *oAuthVC = [[GTMOAuth2ViewControllerTouch alloc]
      initWithScope:kGTLAuthScopeStorageDevstorageReadWrite
           clientID:GoogleClientID
       clientSecret:GoogleClientSecret
   keychainItemName:kKeychainItemName
  completionHandler:^(GTMOAuth2ViewControllerTouch *viewController, GTMOAuth2Authentication *auth, NSError *error) {

  NSString * _accessToken = [NSString stringWithFormat:@"Bearer %@", [auth.parameters objectForKey:@"access_token"]];

  _serviceStorage.additionalHTTPHeaders = @{@"x-goog-project-id": GoogleProjectID, @"Content-Type": @"application/json-rpc", @"Accept": @"application/json-rpc", @"Authorization": _accessToken};

  _serviceStorage.authorizer = auth;
  _serviceStorage.retryEnabled = YES;


  dispatch_async(dispatch_get_main_queue(), ^{
  [self dismissViewControllerAnimated:YES completion:nil];
  });
}];


UIImage * img = [UIImage imageNamed:@"icon-user-default.png"];
NSData * imageData = UIImagePNGRepresentation(img);
GTLUploadParameters *uploadParam = [GTLUploadParameters uploadParametersWithData:imageData MIMEType:@"image/jpeg"];
GTLStorageObject *storageObj = [GTLStorageObject object];
storageObj.name = @"cc.png";

GTLQueryStorage *query = [GTLQueryStorage queryForObjectsInsertWithObject:storageObj bucket:@"my-test-app" uploadParameters:uploadParam];
GTLServiceTicket *ticket = [_serviceStorage executeQuery:query completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) {
if (error) {
NSLog(@"%@",error.debugDescription);
}
}];

ticket.uploadProgressBlock = ^(GTLServiceTicket *ticket,
 unsigned long long numberOfBytesRead,
 unsigned long long dataLength) {
//self.progressView.progress = (float)numberOfBytesRead/(float)dataLength;
};

它'总是显示错误

  

2015-10-14 12:41:44.399 Pix [21848:145791]错误   Domain = com.google.GTLJSONRPCErrorDomain Code = 401"(需要登录)"   UserInfo = {error =需要登录,GTLStructuredError = GTLErrorObject   0x7b88d7e0:{message:"需要登录"代码:401数据:[1]},   NSLocalizedFailureReason =(需要登录)}

我如何解决它?

0 个答案:

没有答案