Membaca File Dari Foto Google Menggunakan API Foto Google, REST Dan C # .NET

  • Whatsapp
Membaca File Dari Foto Google Menggunakan API Foto Google, REST Dan C # .NET
Tutorial Terkait Di Google Foto API
Membaca File Dari Foto Google Menggunakan API Foto Google, REST dan VB.NET
Unggah Foto, Gambar, atau File ke Foto Google Menggunakan API Foto Google, Istirahat dan C # .NET
Saya telah mengerjakan sebuah proyek tahun lalu untuk membaca dan mengunduh gambar dari Foto Google menggunakan API Foto Google terbaru dan C # sebagai bahasa pemrograman. Selama penelitian, sudah ada .NET API yang disebut API Album Web Picasa, tetapi sudah tidak digunakan lagi dan dokumen menyarankan untuk memigrasi aplikasi ke yang terbaru. Contoh dalam dokumentasi saat ini yang disediakan adalah PHP, Java dan REST API di mana contoh tersebut ditulis dalam Node.js. Karena persyaratannya adalah menulis tugas terjadwal atau layanan windows di C # .NET, saya memutuskan untuk menyegarkan keterampilan saya dalam mengirim permintaan ke layanan REST menggunakan kelas WebClient atau HTTPWebRequest.
Untuk mengakses item media, membaca atau bahkan mengunduh file menggunakan API Foto Google, Anda perlu mengaktifkan API Perpustakaan Foto Google, membuat Proyek Google dan menyiapkan kredensial OAuth 2.0 dengan benar. Lihat Mulailah dengan REST dokumentasi untuk panduan langkah demi langkah tentang cara mencapainya.
Setelah tahap pengaturan selesai, Anda perlu mengunduh file JSON yang berisi kredensial Anda seperti ID Rahasia Klien dan Rahasia Klien dan kemudian menambahkannya ke proyek Visual Studio Anda. Pada gambar di bawah, saya melampirkan file JSON dan mengganti namanya menjadi ‘kredensial’. Setel Salin ke direktori keluaran dari file itu ke Salin Selalu.
Menggunakan API Foto Google, REST dan C # .NET
Selanjutnya adalah membuat kelas model yang akan mengubah hasil JSON menjadi objek .NET.
public class clsResponseRootObject
{
public List<MediaItem> mediaItems { get; set; }
public string nextPageToken { get; set; }
}

public class MediaItem
{
public string id { get; set; }
public string productUrl { get; set; }
public string baseUrl { get; set; }
public string mimeType { get; set; }
public MediaMetadata mediaMetadata { get; set; }
public string filename { get; set; }
}

public class MediaMetadata
{
public DateTime creationTime { get; set; }
public string width { get; set; }
public string height { get; set; }
public Photo photo { get; set; }
}

public class Photo
{
public string cameraMake { get; set; }
public string cameraModel { get; set; }
public double focalLength { get; set; }
public double apertureFNumber { get; set; }
public int isoEquivalent { get; set; }
}

Untuk melanjutkan membaca file dari Perpustakaan Foto Google, instal paket Google.Apis.Auth di proyek Anda melalui NuGet. Seluruh kode untuk membaca file ditampilkan di bawah ini.

using Google.Apis.Auth.OAuth2;
using Google.Apis.Util.Store;
using Newtonsoft.Json;
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;

namespace GooglePhotosAPISimpleDemo
{
class Program
{
static void Main(string[] args)
{
string credPath = @"D:StorePath";
clsResponseRootObject responseObject = new clsResponseRootObject();
UserCredential credential;
string[] scopes = {
"https://www.googleapis.com/auth/photoslibrary.sharing",
"https://www.googleapis.com/auth/photoslibrary.readonly"
};
string UserName = "your_googlemail_account";
string ClientID = "your_client_id";
string ClientSecret = "your_client_secret";

using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
scopes,
UserName,
CancellationToken.None,
new FileDataStore(credPath, true)).Result;
}

try
{
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("https://photoslibrary.googleapis.com/v1/mediaItems");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Headers.Add("client_id", ClientID);
httpWebRequest.Headers.Add("client_secret", ClientSecret);
httpWebRequest.Headers.Add("Authorization:" + credential.Token.TokenType + " " + credential.Token.AccessToken);
httpWebRequest.Method = "GET";

HttpWebResponse response = httpWebRequest.GetResponse() as HttpWebResponse;
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);

responseObject = JsonConvert.DeserializeObject<clsResponseRootObject>(reader.ReadToEnd());

if (responseObject != null)
{
if (responseObject.mediaItems != null && responseObject.mediaItems.Count > 0)
{
Console.WriteLine("------------------------Retrieving media files--------------------------------");
foreach (var item in responseObject.mediaItems)
{
Console.WriteLine(string.Format("ID:{0}, Filename:{1}, MimeType:{2}", item.id, item.filename, item.mimeType));
}
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("Error occured: " + ex.Message);
}

Console.ReadLine();
}
}
}

Jika Anda menjalankan aplikasi, Browser Internet Explorer akan muncul di desktop Anda dan akan meminta Anda untuk memasukkan alamat email Anda sebagai konfirmasi.
Menggunakan API Foto Google, REST dan C # .NET
Setelah Anda mengklik Izinkan, program kemudian akan menampilkan file yang Anda unggah di Perpustakaan Foto Anda.
Menggunakan API Foto Google, REST dan C # .NET

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *