07-03-20, 01:42 PM
(آخر تعديل لهذه المشاركة : 19-03-20, 08:48 AM {2} بواسطة معاند الحظ.)
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته اخواني الكرام
مثال سريع حول استخدام مكتبات جوجل درايف للمبرمجين
كان هذا رد على استفسار احد الاخوة
وبناء على رغبة الاخ المشرف عاصم مشكورا
تم نقله الى قسم الامثلة والمشاريع
اهلا فيك اخي واحيي طريقتك واسلوبك في طرح السؤال ومحاولة بذل الجهد للتوضيح من اجل الوصول الى جواب
بالنسبة لسؤالك ، دعني اخبرك ان طريقة المتصفح لاتنفع وهي ايضا غير احترافية
والطريقة الصحيحة هي ان تستخدم مكتبات مطوري Google Drive لانها الخبز من الخباز .
وصدقني اني بالمصادفة قريت سؤالك وبالمصادفة ايضا انا كنت اشتغل على تصميم برنامج نفس فكرتك لاني خسرت اكثر من مرة كل الملفات
الموجودة عندي بالهارد. وقلت لازم اصمم برنامج يقوم برفع ملفاتي التي اختارها بالطريقة اللي اختارها الى الدرايف اول باول
والان كيف الطريقة ؟
جوجل درايف يوفر لمن يريد استخدامه من المبرمجين عن طريق برامجهم او تطبيقاتهم مكتبات كاملة متكاملة تساعدك تعمل كل شي يختص بالدرايف
والتعامل معه والطريقة سهلة بعون الله وهي كالتالي:
1- تدخل على الر ابط التالي وتسجل وتنشى مشروع جديد
2- الموقع يعطيك معرفات هي مثل كلمات سرية او مفاتيح خاصة لك وحدك تستخدمها لجعل برنامجك يستطيع الرفع والتنزيل من والى الدرايف وكل العمليات الاخرى
3- بعد حصولك على المعرفات وهي اثنين الاول يسمى ClientId والثاني ClientSecret يمكنك ان تبدأ بكتابة الكود وتصميم برنامجك
شاهد الفيديو لتعرف طريقة الحصول على مفاتيح الاعتماد
مههم تعرف ان برنامجك لازم يحصل على الاذن والسماح في اول عملية اتصال يجريها بر نامجك مع جوجل درايف
باقي الامور الاخرى مشروحة ولها امثلة في مواقع كثيرة لكن انا راح ارفق لك برنامجي عشان تشوف الكود وتجرب احسن من الحوسه والبحث الطويل
لاني الى الان ماعرفت كيف ارفع مجلد من جهازي الى الدرايف لان كل الامثلة اللي وجدتها للرفع كانت فقط للملفات.
يمكنك الاستفادة من الكود التالي للحصول على السماح لبرنامجك مع ملاحظة تغيير ClientId و ClientSecret الى التي حصلت عليها
كود :
Private Service As DriveService = New DriveService
Private Sub Authorize()
Dim scopes As String() = New String() {DriveService.Scope.Drive, DriveService.Scope.DriveFile}
Dim clientId = "change this"
Dim clientSecret = "change this"
Dim MyUserCredential As UserCredential = GoogleWebAuthorizationBroker.AuthorizeAsync(New ClientSecrets() _
With {.ClientId = clientId, .ClientSecret = clientSecret}, scopes, Environment.UserName, CancellationToken.None, _
New FileDataStore("MyAppsToken")).Result
Service = New DriveService(New BaseClientService.Initializer() _
With {.HttpClientInitializer = MyUserCredential, .ApplicationName = "change this"})
Service.HttpClient.Timeout = TimeSpan.FromMinutes(100)
End Sub
وفي برنامجي عملت كود لرفع الملفات وحذفها وافراغ المحذوفات
طبعا برنامجي الى الان في طور النسخ واللصق والتجريب فلا تآخذني على التصميم
اتمنى لك ولي وللجميع التوفيق
مصادر اخرى:
ملاحظة اخيرة انا استخدم الاصدار v2 من المكتبة اما الاصدارات الاحدث فلاتعمل على فيجوال بيسك 2010 وماقبله
والله اعلم