2013-07-30 31 views
0

我在打,我想在這我在谷歌驅動器存儲數據的應用程序的問題inbuild庫。 我已經生成了客戶端ID和客戶端密鑰。現在我無法找到谷歌驅動器的inbuild庫。如何獲得谷歌驅動器在iPhone SDK的

何地拖動GTL.xcodeproj,什麼是GTLDrive.h和GTLDrive_Sources.m。

如何使用和在哪裏得到這個????

這是我將使用代碼:

#import <UIKit/UIKit.h> 
#import <MobileCoreServices/MobileCoreServices.h> 
#import "GTMOAuth2ViewControllerTouch.h" 
#import "GTLDrive.h" 
@interface ViewController : UIViewController <UINavigationControllerDelegate, UIImagePickerControllerDelegate> 
@property (nonatomic, retain) GTLServiceDrive *driveService; 
@end 


#import "ViewController.h" 
static NSString *const kKeychainItemName = @"Google Drive Quickstart"; 
static NSString *const kClientID = @"YOUR_CLIENT_ID"; 
static NSString *const kClientSecret = @"YOUR_CLIENT_SECRET"; 


@implementation ViewController 

@synthesize driveService; 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // Initialize the drive service & load existing credentials from the keychain if available 
    self.driveService = [[GTLServiceDrive alloc] init]; 
    self.driveService.authorizer = [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kKeychainItemName 
                         clientID:kClientID 
                        clientSecret:kClientSecret]; 
} 

- (void)viewDidAppear:(BOOL)animated 
{ 
    // Always display the camera UI. 
    [self showCamera]; 
} 

- (void)showCamera 
{ 
    UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init]; 
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
    { 
     cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera; 
    } 
    else 
    { 
     // In case we're running the iPhone simulator, fall back on the photo library instead. 
     cameraUI.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
     if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) 
     { 
      [self showAlert:@"Error" message:@"Sorry, iPad Simulator not supported!"]; 
      return; 
     } 
    }; 
    cameraUI.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, nil]; 
    cameraUI.allowsEditing = YES; 
    cameraUI.delegate = self; 
    [self presentModalViewController:cameraUI animated:YES]; 

    if (![self isAuthorized]) 
    { 
     // Not yet authorized, request authorization and push the login UI onto the navigation stack. 
     [cameraUI pushViewController:[self createAuthController] animated:YES]; 
    } 
} 

// Handle selection of an image 
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    UIImage *image = [info valueForKey:UIImagePickerControllerOriginalImage]; 
    [self dismissModalViewControllerAnimated:YES]; 
    [self uploadPhoto:image];} 

    // Handle cancel from image picker/camera. 
    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{ 
    [self dismissModalViewControllerAnimated:YES];} 

    // Helper to check if user is authorized 
    - (BOOL)isAuthorized{ 
    return [((GTMOAuth2Authentication *)self.driveService.authorizer) canAuthorize]; 
} 

// Handle completion of the authorization process, and updates the Drive service 
// with the new credentials. 
- (void)viewController:(GTMOAuth2ViewControllerTouch *)viewController 
     finishedWithAuth:(GTMOAuth2Authentication *)authResult 
       error:(NSError *)error 
{ 
    if (error != nil) 
    { 
     [self showAlert:@"Authentication Error" message:error.localizedDescription]; 
     self.driveService.authorizer = nil; 
    } 
    else 
    { 
     self.driveService.authorizer = authResult; 
    } 
} 

// Uploads a photo to Google Drive 
- (void)uploadPhoto:(UIImage*)image 
{ 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"'Quickstart Uploaded File ('EEEE MMMM d, YYYY h:mm a, zzz')"]; 

    GTLDriveFile *file = [GTLDriveFile object]; 
    file.title = [dateFormat stringFromDate:[NSDate date]]; 
    file.descriptionProperty = @"Uploaded from the Google Drive iOS Quickstart"; 
    file.mimeType = @"image/png"; 

    NSData *data = UIImagePNGRepresentation((UIImage *)image); 
    GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithData:data MIMEType:file.mimeType]; 
    GTLQueryDrive *query = [GTLQueryDrive queryForFilesInsertWithObject:file 
                 uploadParameters:uploadParameters]; 

    UIAlertView *waitIndicator = [self showWaitIndicator:@"Uploading to Google Drive"]; 

    [self.driveService executeQuery:query 
     completionHandler:^(GTLServiceTicket *ticket, 
          GTLDriveFile *insertedFile, NSError *error) { 
      [waitIndicator dismissWithClickedButtonIndex:0 animated:YES]; 
      if (error == nil) 
      { 
       NSLog(@"File ID: %@", insertedFile.identifier); 
       [self showAlert:@"Google Drive" message:@"File saved!"]; 
      } 
      else 
      { 
       NSLog(@"An error occurred: %@", error); 
       [self showAlert:@"Google Drive" message:@"Sorry, an error occurred!"]; 
      } 
     }]; 
} 

// Helper for showing a wait indicator in a popup 
- (UIAlertView*)showWaitIndicator:(NSString *)title 
{ 
    UIAlertView *progressAlert; 
    progressAlert = [[UIAlertView alloc] initWithTitle:title 
               message:@"Please wait..." 
               delegate:nil 
            cancelButtonTitle:nil 
            otherButtonTitles:nil]; 
    [progressAlert show]; 

    UIActivityIndicatorView *activityView; 
    activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; 
    activityView.center = CGPointMake(progressAlert.bounds.size.width/2, 
             progressAlert.bounds.size.height - 45); 

    [progressAlert addSubview:activityView]; 
    [activityView startAnimating]; 
    return progressAlert; 
} 

// Helper for showing an alert 
- (void)showAlert:(NSString *)title message:(NSString *)message 
{ 
    UIAlertView *alert; 
    alert = [[UIAlertView alloc] initWithTitle: title 
               message: message 
               delegate: nil 
            cancelButtonTitle: @"OK" 
            otherButtonTitles: nil]; 
    [alert show]; 
} 

@end 

我從這個鏈接驗證碼:https://developers.google.com/drive/quickstart-ios

回答

1

使用此video,他怎麼以下步驟並在他拖GTL.xcodeproj。 非常仔細地按照步驟操作。

相關問題