2014-04-07 14 views

cevap

7

Önce yapılandırmaya dikkat clientid/gizli ve doğru yönlendirme uri ile uygulamaya sahip olmak gerekir.

enter image description here

Şu ana kadar clientId/gizli anahtar alırsınız:

enter image description here

Şimdi bazı kodları yazmak için zamanı - benim durumumda için bu bir masaüstü uygulaması var!

Adım 1 - yetkilendirme: -

private async static Task<UserCredential> Auth(ClientSecrets clientSecrets) 
{ 
    return await GoogleWebAuthorizationBroker.AuthorizeAsync(clientSecrets, Scopes, "user", CancellationToken.None); 
} 

Adım 2 inşa google için istemci sürücü:

private static DriveService GetService(UserCredential credential) 
{ 
    return new DriveService(new BaseClientService.Initializer() 
    { 
     HttpClientInitializer = credential, 
     ApplicationName = "MyApplicationName", 
    }); 
} 

Adım 3 - klasör oluşturmak (veya başka bir içerik):

private static string CreateFolder(DriveService service, string folderName) 
{ 
    var file = new File {Title = folderName, MimeType = "application/vnd.google-apps.folder"}; 
    var result = service.Files.Insert(file).Execute(); 
    return result.Id; 
} 

Adım 4 - Paylaşın! Bütün bunların

/// <summary> 
/// Share content. Doc link: https://developers.google.com/drive/v2/reference/permissions/insert 
/// </summary> 
private static void Share(DriveService service, string fileId, string value, string type, string role) 
{ 
    var permission = new Permission {Value = value, Type = type, Role = role}; 
    service.Permissions.Insert(permission, fileId).Execute(); 
} 

Ve nihayet kullanımı:

sahip olduğunuz her e-posta için bir döngü içinde oldukça aynı şey yaratma/paylaşım içeriği yapabileceği e-postaların listesi için
static void Main(string[] args) 
{ 
    var ClientId = "MySecredId"; 
    var SecretKey = "MySecretKey"; 

    var Scopes = new[] { DriveService.Scope.DriveFile, DriveService.Scope.Drive }; 

    var secrets = new ClientSecrets { ClientId = ClientId, ClientSecret = SecretKey }; 
    var credentials = Auth(secrets).Result; 

    var service = GetService(credentials); 

    var folderId = CreateFolder(service, "folderName"); 

    Share(service, folderId, "[email protected]", "user", "reader"); 
} 

.

Bazı yararl linkler: Sharing files

Creating files

Ayrıca
Sen

+0

'DriveService' nerede bulunur? –

+0

Aynı şey "Dosya" ve "İzin" için de geçerlidir. –

+2

@Endri, hepsi Google.Apis.Drive.v2. Çözümü için paketi yükleyin (bağımlılıklara sahiptir) – Sergio

4

Bu menteşeyi Google ile kimlik doğrulaması yapmaya yönelik adımlar. Bunu yaptıktan sonra, istediğiniz işlemleri gerçekleştirmek için Drive API'sına erişebileceksiniz. Aşağıdaki linkler, yapmanız gereken her şeyde size yol gösterir.

Adım 1: (eğer ASP.NET kullandığınız olarak sizin durumunuzda sunucu tarafı) kimlik doğrulaması https://developers.google.com/drive/web/auth/web-server

2. Adım: klasörleri https://developers.google.com/drive/web/folder

Adım 3 oluşturun: klasörleri paylaşma https://developers.google.com/drive/web/manage-sharing

2

Aşağıdaki linke bir göz atın. Google Drive'da tam ders var! Her şeyden

https://www.codeschool.com/courses/discover-drive

+1

Ruby'de. ASP.net + C# Yaklaşımı arıyorum! –

+0

onun html ve java script ile kolayca ve kolayca ASP.net içinde dönüştürebilirsiniz! –

İlgili konular