Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Ms Access VBA và Google drive, một vài ý tưởng trong chia sẻ và đồng bộ số liệu...
#41
(07-06-16, 11:48 AM)hieuvn Đã viết: Dropbox không khó hơn đâu Ngọc, mình làm được rồi:
thay vì dùng localhost thì mình dùng: https://www.dropbox.com/1/oauth2/redirect_receiver
để nhận authorisation code.
sau khi người dùng đăng nhập để xác thực thì code được gửi về dưới dạng đường link như sau:
https://www.dropbox.com/1/oauth2/redirec...ode=(code)
chỉ cần tách phần (code) ra rồi đưa qua step 2 là ok.

Hiếu không hiểu điều mình chia sẻ trong mấy bài trước...
Mình muốn không cần dùng đến Browser để login và việc hỏi người dùng chấp thuận (user consent/ approval)
(như trong ứng dụng kèm theo chủ đề với GoogleDrive, mình tự đọng login và xác thực, chấp thuận - kể cả đối với người dùng mới)
Còn các việc sau thì đơn giản.
Lý do chính là DropBox đã chuyển sang dùng Cookie dạng HTTPOnly đối với Token để xác thực phiên truy cập vì thế dùng WinHTTP không còn tác dụng nữa.
Còn đưa InternetBrowser vào dạng ActiveX thì mình không muốn (nặng và chậm).
Mình làm như thế là muốn giới thiệu một cách làm khác so với cách làm thông thường là dùng thư viện Ứng dụng do DropBox hoặc Google cung cấp (hiện đang đóng) để người dùng VBA có thể thao tác mà không cần đến bộ thư viện của 2 ông nhớn kia.
Với GoogleDrive thì tiếp cận theo chủ đề này vẫn ổn nhưng với DropBox thì lại phải quay lại cơ chế dùng thư viện của DropBox (phải mua) và đó là cách mà mình làm cho đối tác. Hiện giờ chưa có cách làm khác (mặc dù cách đây 1 năm thì DropBox vẫn cho phép tự động hóa quá trình truy nhập mà không cần Browser)

Với cách dùng https://www.dropbox.com/1/oauth2/redirect_receiver

bạn vẫn phải Login bằng Web browser và vẫn phải yêu cầu người dùng nhập thông tin cụ thể (trong khi với GoogleDrive mình không bắt người dùng làm thế)
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn lehongduc , Noname , Minh Tiên
#42
Chào các Bạn,

Ở chỗ này có các module và class dùng được trong MS. Access: 
https://github.com/paulsteigel/Google-Dr...ntegration
Cũng của Bác "chủ xị" đó mà.

Các Bạn tải xuống và kết hợp với các hướng dẫn của Bác "chủ xị" của đề tài này sẽ sáng tỏ nhiều điều hơn đó.
Xin cảm ơn Bác "chủ xị" nhé.
Chữ ký của lehongduc Lê Hồng Đức
Số ĐT: 0913.941.144
Email: lhongduc@gmail.com, lehongduc@ymail.com
Website: http://quantribanhang.vn
Reply
Những người đã cảm ơn paulsteigel , Noname
#43
Mình đã tìm ra một hướng mới dùng Wininet thay vì WinHTTP. Làm với cấp độ này mình có thể lấy được cookier dạng HTTPOnly và lại có thể truy cập, xác thực...vv không cần trình duyệt.

Việc này cần chút thời gian... vài hôm nữa mình sẽ giới thiệu cách làm.
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn Noname , maidinhdan , Minh Tiên
#44
Chào các Bạn,

Có Bạn vừa gửi tin nhắn hỏi tôi: "Anh Paulsteigel làm vậy chi cho rắc rối, sao không map cái Google Drive cho nó khoẻ?".

Lẽ ra Bạn này nên hỏi "chủ xị" ngay trên diễn đàn này chứ, sao lại hỏi tôi qua tin nhắn? Chắc là Bạn ấy ngại. Thôi thì tôi thày lay vậy. Trúng trật chi thì Bác "chủ xị" phán cho một câu nhé.

Theo tôi là dzầy nè:
- Nếu ta map Google Drive thì quá sức "lộ liểu" rồi.
- Có rất nhiều lý do khiến cho ta hổng muốn bày ra một cách "lộ liểu" bằng cách map Google Drive như vậy. Và Bác "chủ xị" đang bày cho ta một cách để đáp ứng nhu cầu để mà đặng cái điều bí ẩn này đấy.

Hic, viết tới đây bổng tôi nhớ đến một câu hỏi liên quan: "ta có thể đặt file dữ liệu MDB lên Google Drive rồi cho truy xuất theo kiểu chia xẻ để dùng chung được không?". Chà, một câu hỏi thú vị phải không các Bạn.
Theo tôi, để cho thêm phần hấp dẫn, chúng ta cứ dõi theo Bác "chủ xị" tà tà đi đến cuối con đường hạnh phúc này sẽ rõ thôi mà. Phải không Bác "chủ xị"?
Chữ ký của lehongduc Lê Hồng Đức
Số ĐT: 0913.941.144
Email: lhongduc@gmail.com, lehongduc@ymail.com
Website: http://quantribanhang.vn
Reply
Những người đã cảm ơn paulsteigel , Noname , maidinhdan , Minh Tiên
#45
(07-06-16, 12:15 PM)paulsteigel Đã viết: Hiếu không hiểu điều mình chia sẻ trong mấy bài trước...
Mình muốn không cần dùng đến Browser để login và việc hỏi người dùng chấp thuận (user consent/ approval)
...
Mình đã tìm ra một hướng mới dùng Wininet thay vì WinHTTP. Làm với cấp độ này mình có thể lấy được cookier dạng HTTPOnly và lại có thể truy cập, xác thực...vv không cần trình duyệt.
log in tự động cũng dễ mà, nhưng mình thì dùng IE cho khỏe, nếu bạn dùng winnet thì cũng phải khai báo thư viện winnet.dll  vậy.
Chữ ký của hieuvn Xin chào! Mình là hieuvn, thành viên của Thủ Thuật Access tham gia ngày Oct 2010.
Reply
Những người đã cảm ơn paulsteigel , maidinhdan
#46
(07-06-16, 01:11 PM)hieuvn Đã viết: ....
log in tự động cũng dễ mà, nhưng mình thì dùng IE cho khỏe, nếu bạn dùng winnet thì cũng phải khai báo thư viện winnet.dll  vậy.

Tương tác Web tự động qua Web Control hoặc ActiveX là việc quen thuộc với lập trình viên tuy nhiên có nhiều điểm không ổn:
Các Trình duyệt hiện tại chỉ có Internet Explorer có sẵn ActiveX để tương tác WEB, Mozila có nữa nhưng phải cài đặt còn Chrome/ Safari, Opera thì không.
Bên cạnh đó khi dùng ActiveX dạng này chương trình sẽ chậm đi rất nhiều và đôi khi gây nhiều mệt mỏi trong khi cái ta cần chỉ là phiên làm việc được Máy chủ đồng thuận qua quá trình truy nhập (login).

Đó là lý do tại sao tôi muốn thực hiện việc thay thể WebBrowser bằng trình tự động nằm dưới cấp ứng dụng của Trình duyệt. Chủ đề về GoogleDrive chỉ là một trong các tiếp cận để chia sẻ với các bạn quan tâm về cách kết nối đăng tải file từ Google Drive mà không cần dùng trình duyệt kể cả việc lấy Token mới cho người dùng hiện tại và người dùng mới.

Thông thường để lấy được Token mới cho một người dùng mới bạn sẽ:
1. Login
2. Xin Token
3. Lấy mã xác thực và
4. Nhận Token mới

Nhưng với ứng dụng mà tôi đề xuất trong loạt bài viết này, chúng ta chỉ cần tên người dùng, mật khẩu là có thể có Token mới mà không cần biết các việc khác là gì.

Tại sao tôi phải làm thế:
Hiện tại tôi có một ứng dụng quản lý dữ liệu tập trung trên nền dữ liệu phân tán.
Có 27 huyện quản lý 27 bộ số liệu Theo dõi & Đánh giá của họ. Số liệu này thay đổi tuần 1 lần.
Muốn tổng hợp số liệu tại cấp tỉnh thì phải gom các CSDL lại bằng USB hoặc email sau đó nhập vào cấp tỉnh và tương tự tại Trung ương cũng thế.
Để giúp quá trình tổng hợp tự động, tôi tạo ra một tài khoản GoogleDrive riêng cho ứng dụng này. Cứ cuối tuần, ứng dụng cấp huyện sẽ gửi số liệu lên thư mục của họ và gắn một thông báo về phiên bản số liệu. Phần mềm cấp tỉnh sẽ đọc và lấy thông tin về và cũng làm tương tự cho tỉnh mình. Phần mềm Trung ương sẽ lấy được bản số liệu cuối có đầy đủ các huyện, tỉnh.
Thấy bài toán đó hay ho, tôi đem chia sẻ lên đây để mọi người xem...

Quay lại ý của Hiếu. WININET và WINHTTP, XMLHTTP là bộ thư viện chuẩn của Windows, bất kể có Internet Explorer hay không thì các thư viện đó đều tồn tại. Việc khai báo cho nó đơn giản hết sức: API (Với Wininet) hoặc Thiết lập Tham chiếu đến WINHTTP/XMLHTTP (Dạng early Bind hoặc Late Bind đều được).
Việc tương tác với các thư viện này nhẹ nhàng và nhanh hơn dùng Web Browser nhiều. Tuy nhiên, do sự phức tạp, chúng đòi hỏi một số kỹ năng lập trình nhất định.

Tiện việc bàn về DropBox, tôi trước đây (2 năm trước) cũng làm các tương tự để đẩy file vào DropBox và tải xuống ... nhưng 6 tháng gần đây DropBox khóa lại nên cách tiếp cận tôi nói trên đây không còn hữu hiệu nữa. Tuy nhiên, nếu muốn ta vẫn có thể làm được bằng Wininet với 10 dòng khai báo hàm API là xong....
Hy vọng vài ngày nữa nếu không quá bận tôi sẽ giới thiệu về Wininet
Chữ ký của paulsteigel ====================
Quốc gia hưng vong
Thất phu hữu trách
====================
Reply
Những người đã cảm ơn lehongduc , Noname , maidinhdan , Minh Tiên
#47
Mấy hôm trước Mình kiếm Tài Liệu WinRaR Tìm trên Internet Hoài nó đưa đến 1 Web nước ngoài ...Mình thấy Mã nguồn Access là của người Việt Nam ...Tải về coi ...

lâu lắm rồi hôm nay vào đây lại thấy Ở đây ....  paulsteigel = Dang Dinh Ngoc 

Vậy là đi đâu ta cũng gặp lại chăng...

https://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=74547&lngWId=1
Chữ ký của kieu manh kieu manh,gia nhập Thủ Thuật Access từ 21-06 -15.
Reply
Những người đã cảm ơn maidinhdan


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Cài đặt ODBC -nền tảng kết nối Access và nguồn dữ liệu khác Noname 33 19,294 01-12-16, 06:49 PM
Bài mới nhất: atula77
  Xây dựng Class Modules trong Access ( Cơ bản đến Nâng cao) maidinhdan 2 181 13-11-16, 05:32 PM
Bài mới nhất: cpucloi
  [Help] SQL lỗi khi tham chiếu trường trong Forms Phung Duc 1 71 02-11-16, 03:17 PM
Bài mới nhất: Minh Tiên
  tương tác chương trình ngoài lamvanphung 4 412 30-09-16, 02:47 AM
Bài mới nhất: maidinhdan
  Ứng dụng đổi tên file trong windows hàng loạt tranthanhan1962 7 1,211 19-09-16, 04:16 PM
Bài mới nhất: maidinhdan

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ