Mã hóa url php trực tuyến
Tài liệu này giải thích cách các ứng dụng máy chủ web sử dụng Google API Client Libraries hoặc Google OAuth 2. 0 điểm cuối để triển khai OAuth 2. 0 ủy quyền để truy cập Google API Show
OAuth 2. 0 cho phép người dùng chia sẻ dữ liệu cụ thể với một ứng dụng trong khi vẫn giữ bí mật tên người dùng, mật khẩu và các thông tin khác của họ. Ví dụ: một ứng dụng có thể sử dụng OAuth 2. 0 để xin phép người dùng lưu trữ tệp trong Google Drive của họ OAuth 2 này. 0 dành riêng cho ủy quyền người dùng. Nó được thiết kế cho các ứng dụng có thể lưu trữ thông tin bí mật và duy trì trạng thái. Ứng dụng máy chủ web được ủy quyền hợp lệ có thể truy cập API trong khi người dùng tương tác với ứng dụng hoặc sau khi người dùng rời khỏi ứng dụng Các ứng dụng máy chủ web cũng thường sử dụng tài khoản dịch vụ để ủy quyền các yêu cầu API, đặc biệt khi gọi API đám mây để truy cập dữ liệu dựa trên dự án thay vì dữ liệu dành riêng cho người dùng. Các ứng dụng máy chủ web có thể sử dụng tài khoản dịch vụ cùng với sự cho phép của người dùng Ghi chú. Do ý nghĩa bảo mật của việc triển khai chính xác, chúng tôi đặc biệt khuyến khích bạn sử dụng OAuth 2. 0 thư viện khi tương tác với OAuth 2 của Google. 0 điểm cuối. Cách tốt nhất là sử dụng mã được gỡ lỗi tốt do người khác cung cấp và nó sẽ giúp bạn bảo vệ chính mình và người dùng của mình. Để biết thêm thông tin, hãy xem Thư viện máy kháchthư viện máy kháchCác ví dụ cụ thể về ngôn ngữ trên trang này sử dụng Thư viện máy khách API của Google để triển khai OAuth 2. 0 ủy quyền. Để chạy các mẫu mã, trước tiên bạn phải cài đặt thư viện máy khách cho ngôn ngữ của mình Khi bạn sử dụng Thư viện ứng dụng Google API để xử lý OAuth 2 của ứng dụng. 0, thư viện máy khách thực hiện nhiều hành động mà ứng dụng sẽ cần phải tự xử lý. Ví dụ: nó xác định thời điểm ứng dụng có thể sử dụng hoặc làm mới mã thông báo truy cập được lưu trữ cũng như thời điểm ứng dụng phải lấy lại sự đồng ý. Thư viện máy khách cũng tạo các URL chuyển hướng chính xác và giúp triển khai các trình xử lý chuyển hướng trao đổi mã ủy quyền để lấy mã thông báo truy cập Thư viện máy khách API của Google dành cho các ứng dụng phía máy chủ có sẵn cho các ngôn ngữ sau
điều kiện tiên quyếtBật API cho dự án của bạnBất kỳ ứng dụng nào gọi API của Google đều cần bật các API đó trong Bảng điều khiển API Để bật API cho dự án của bạn
Tạo thông tin ủy quyềnBất kỳ ứng dụng nào sử dụng OAuth 2. 0 để truy cập Google API phải có thông tin đăng nhập ủy quyền xác định ứng dụng với OAuth 2 của Google. 0 máy chủ. Các bước sau giải thích cách tạo thông tin đăng nhập cho dự án của bạn. Sau đó, các ứng dụng của bạn có thể sử dụng thông tin đăng nhập để truy cập các API mà bạn đã bật cho dự án đó
Sau khi tạo thông tin đăng nhập của bạn, hãy tải xuống client_secret. json từ Bảng điều khiển API. Lưu trữ an toàn tệp ở vị trí mà chỉ ứng dụng của bạn mới có thể truy cập Quan trọng. Không lưu trữ client_secret. json ở một vị trí có thể truy cập công khai. Ngoài ra, nếu bạn chia sẻ mã nguồn cho ứng dụng của mình — ví dụ: trên GitHub — hãy lưu trữ client_secret. json bên ngoài cây nguồn của bạn để tránh vô tình chia sẻ thông tin đăng nhập khách hàng của bạnXác định phạm vi truy cậpPhạm vi cho phép ứng dụng của bạn chỉ yêu cầu quyền truy cập vào các tài nguyên mà nó cần đồng thời cho phép người dùng kiểm soát lượng truy cập mà họ cấp cho ứng dụng của bạn. Do đó, có thể có mối quan hệ nghịch đảo giữa số lượng phạm vi được yêu cầu và khả năng nhận được sự đồng ý của người dùng Trước khi bạn bắt đầu triển khai OAuth 2. 0, chúng tôi khuyên bạn nên xác định các phạm vi mà ứng dụng của bạn sẽ cần có quyền truy cập Chúng tôi cũng khuyên ứng dụng của bạn nên yêu cầu quyền truy cập vào phạm vi ủy quyền thông qua quy trình ủy quyền gia tăng, trong đó ứng dụng của bạn yêu cầu quyền truy cập vào dữ liệu người dùng theo ngữ cảnh. Phương pháp hay nhất này giúp người dùng hiểu dễ dàng hơn lý do tại sao ứng dụng của bạn cần quyền truy cập mà nó đang yêu cầu OAuth 2. 0 Tài liệu Phạm vi API chứa danh sách đầy đủ các phạm vi mà bạn có thể sử dụng để truy cập Google API Nếu ứng dụng công khai của bạn sử dụng các phạm vi cho phép truy cập vào một số dữ liệu người dùng nhất định, ứng dụng đó phải hoàn tất quy trình xác minh. Nếu bạn thấy ứng dụng chưa được xác minh trên màn hình khi kiểm tra ứng dụng của mình, bạn phải gửi yêu cầu xác minh để xóa ứng dụng đó. Tìm hiểu thêm về các ứng dụng chưa được xác minh và nhận câu trả lời cho các câu hỏi thường gặp về xác minh ứng dụng trong Trung tâm trợ giúpYêu cầu cụ thể về ngôn ngữĐể chạy bất kỳ mẫu mã nào trong tài liệu này, bạn cần có tài khoản Google, truy cập Internet và trình duyệt web. Nếu bạn đang sử dụng một trong các thư viện máy khách API, hãy xem thêm các yêu cầu dành riêng cho ngôn ngữ bên dưới Để chạy các mẫu mã PHP trong tài liệu này, bạn sẽ cần Thư viện ứng dụng Google API dành cho PHP Để chạy các mẫu mã Python trong tài liệu này, bạn sẽ cần Để chạy các mẫu mã Ruby trong tài liệu này, bạn sẽ cần Thư viện ứng dụng Google API dành cho Ruby Khung ứng dụng web Sinatra Ruby Để chạy nút. js mẫu trong tài liệu này, bạn sẽ cần Nút API của Google. ứng dụng khách js Bạn không cần cài đặt bất kỳ thư viện nào để có thể gọi trực tiếp OAuth 2. 0 điểm cuối Lấy OAuth 2. 0 mã thông báo truy cậpCác bước sau đây cho biết cách ứng dụng của bạn tương tác với OAuth 2 của Google. 0 để có được sự đồng ý của người dùng để thực hiện yêu cầu API thay mặt người dùng. Ứng dụng của bạn phải có sự đồng ý đó trước khi có thể thực hiện yêu cầu Google API yêu cầu ủy quyền của người dùng Danh sách dưới đây tóm tắt nhanh các bước này
Bước 1. Đặt tham số ủy quyềnBước đầu tiên của bạn là tạo yêu cầu ủy quyền. Yêu cầu đó đặt các tham số xác định ứng dụng của bạn và xác định các quyền mà người dùng sẽ được yêu cầu cấp cho ứng dụng của bạn
Các tab bên dưới xác định các tham số ủy quyền được hỗ trợ cho các ứng dụng máy chủ web. Các ví dụ về ngôn ngữ cụ thể cũng chỉ ra cách sử dụng thư viện máy khách hoặc thư viện ủy quyền để định cấu hình đối tượng đặt các tham số đó Đoạn mã dưới đây tạo một đối tượng Đối tượng đó sử dụng thông tin từ client_secret của bạn. json để xác định ứng dụng của bạn. (Xem tạo thông tin ủy quyền để biết thêm về tệp đó. ) Đối tượng cũng xác định các phạm vi mà ứng dụng của bạn đang yêu cầu quyền truy cập và URL tới điểm cuối xác thực của ứng dụng, điểm cuối này sẽ xử lý phản hồi từ OAuth 2 của Google. 0 máy chủ. Cuối cùng, mã đặt các tham số $client = new Google\Client(); $client->setAuthConfig('client_secret.json');5 và $client = new Google\Client(); $client->setAuthConfig('client_secret.json');6 tùy chọn Ví dụ: mã này yêu cầu quyền truy cập ngoại tuyến, chỉ đọc vào Google Drive của người dùng $client = new Google\Client(); $client->setAuthConfig('client_secret.json'); $client->addScope(Google\Service\Drive::DRIVE_METADATA_READONLY); $client->setRedirectUri('http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php'); // offline access will give you both an access and refresh token so that // your app can refresh the access token without user interaction. $client->setAccessType('offline'); // Using "consent" ensures that your application always receives a refresh token. // If you are not using offline access, you can omit this. $client->setApprovalPrompt('consent'); $client->setIncludeGrantedScopes(true); // incremental auth Yêu cầu chỉ định các thông tin sau Tham số$client = new Google\Client(); $client->setAuthConfig('client_secret.json');7Bắt buộc ID khách hàng cho ứng dụng của bạn. Bạn có thể tìm thấy giá trị này trong trang Thông tin xác thực bảng điều khiển API Trong PHP, gọi hàm $client = new Google\Client(); $client->setAuthConfig('client_secret.json');8 để tải thông tin ủy quyền từ client_secret. tập tin json $client = new Google\Client(); $client->setAuthConfig('client_secret.json'); $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9Bắt buộc Xác định nơi máy chủ API chuyển hướng người dùng sau khi người dùng hoàn thành quy trình ủy quyền. Giá trị phải khớp chính xác với một trong các URI chuyển hướng được ủy quyền cho OAuth 2. 0 mà bạn đã định cấu hình trong trang Thông tin xác thực bảng điều khiển API của ứng dụng khách của mình. Nếu giá trị này không khớp với URI chuyển hướng được ủy quyền cho $client = new Google\Client(); $client->setAuthConfig('client_secret.json');7 được cung cấp, bạn sẽ gặp lỗi pip install --upgrade google-api-python-client01 Lưu ý rằng lược đồ, trường hợp và dấu gạch chéo sau pip install --upgrade google-api-python-client02 hoặc pip install --upgrade google-api-python-client03 (' pip install --upgrade google-api-python-client04') phải khớp với nhau Để đặt giá trị này trong PHP, hãy gọi hàm pip install --upgrade google-api-python-client05. Lưu ý rằng bạn phải chỉ định một URI chuyển hướng hợp lệ cho $client = new Google\Client(); $client->setAuthConfig('client_secret.json');7 được cung cấp pip install --upgrade google-api-python-client0 pip install --upgrade google-api-python-client07Bắt buộc Danh sách phạm vi được phân tách bằng dấu cách xác định các tài nguyên mà ứng dụng của bạn có thể truy cập thay mặt cho người dùng. Các giá trị này thông báo về màn hình đồng ý mà Google hiển thị cho người dùng Phạm vi cho phép ứng dụng của bạn chỉ yêu cầu quyền truy cập vào các tài nguyên mà nó cần đồng thời cho phép người dùng kiểm soát lượng truy cập mà họ cấp cho ứng dụng của bạn. Do đó, có một mối quan hệ nghịch đảo giữa số lượng phạm vi được yêu cầu và khả năng nhận được sự đồng ý của người dùng Để đặt giá trị này trong PHP, hãy gọi hàm pip install --upgrade google-api-python-client08 pip install --upgrade google-api-python-client1 Chúng tôi khuyên ứng dụng của bạn nên yêu cầu quyền truy cập vào phạm vi ủy quyền theo ngữ cảnh bất cứ khi nào có thể. Bằng cách yêu cầu quyền truy cập vào dữ liệu người dùng theo ngữ cảnh, thông qua ủy quyền gia tăng, bạn giúp người dùng dễ hiểu hơn lý do tại sao ứng dụng của bạn cần quyền truy cập mà ứng dụng đang yêu cầu $client = new Google\Client(); $client->setAuthConfig('client_secret.json');5Được đề xuất Cho biết liệu ứng dụng của bạn có thể làm mới mã thông báo truy cập khi người dùng không có mặt trên trình duyệt hay không. Các giá trị tham số hợp lệ là pip install --upgrade google-api-python-client10, là giá trị mặc định và pip install --upgrade google-api-python-client11 Đặt giá trị thành pip install --upgrade google-api-python-client11 nếu ứng dụng của bạn cần làm mới mã thông báo truy cập khi người dùng không có mặt trên trình duyệt. Đây là phương pháp làm mới mã thông báo truy cập được mô tả sau trong tài liệu này. Giá trị này hướng dẫn máy chủ ủy quyền của Google trả lại mã thông báo làm mới và mã thông báo truy cập vào lần đầu tiên ứng dụng của bạn trao đổi mã ủy quyền cho mã thông báo Để đặt giá trị này trong PHP, hãy gọi hàm pip install --upgrade google-api-python-client13 pip install --upgrade google-api-python-client2____314Đề xuất Chỉ định bất kỳ giá trị chuỗi nào mà ứng dụng của bạn sử dụng để duy trì trạng thái giữa yêu cầu ủy quyền của bạn và phản hồi của máy chủ ủy quyền. Máy chủ trả về giá trị chính xác mà bạn gửi dưới dạng cặp pip install --upgrade google-api-python-client15 trong thành phần truy vấn URL ( pip install --upgrade google-api-python-client16) của $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9 sau khi người dùng đồng ý hoặc từ chối yêu cầu truy cập ứng dụng của bạn Bạn có thể sử dụng tham số này cho một số mục đích, chẳng hạn như hướng người dùng đến đúng tài nguyên trong ứng dụng của bạn, gửi nonces và giảm thiểu giả mạo yêu cầu trên nhiều trang web. Vì có thể đoán được $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9 của bạn, nên việc sử dụng giá trị pip install --upgrade google-api-python-client14 có thể làm tăng sự đảm bảo của bạn rằng kết nối đến là kết quả của một yêu cầu xác thực. Nếu bạn tạo một chuỗi ngẫu nhiên hoặc mã hóa hàm băm của cookie hoặc giá trị khác nắm bắt trạng thái của ứng dụng khách, thì bạn có thể xác thực phản hồi để đảm bảo thêm rằng yêu cầu và phản hồi bắt nguồn từ cùng một trình duyệt, cung cấp khả năng bảo vệ chống lại các cuộc tấn công chẳng hạn như liên trang . Xem tài liệu OpenID Connect để biết ví dụ về cách tạo và xác nhận mã thông báo pip install --upgrade google-api-python-client14 Để đặt giá trị này trong PHP, hãy gọi hàm pip install --upgrade google-api-python-client21 pip install --upgrade google-api-python-client3____46Tùy chọn Cho phép các ứng dụng sử dụng ủy quyền gia tăng để yêu cầu quyền truy cập vào các phạm vi bổ sung trong ngữ cảnh. Nếu bạn đặt giá trị của tham số này thành pip install --upgrade google-api-python-client23 và yêu cầu ủy quyền được cấp, thì mã thông báo truy cập mới cũng sẽ bao gồm mọi phạm vi mà người dùng đã cấp quyền truy cập ứng dụng trước đó. Xem phần ủy quyền gia tăng để biết ví dụ Có thể bạn quan tâmĐể đặt giá trị này trong PHP, hãy gọi hàm pip install --upgrade google-api-python-client24 pip install --upgrade google-api-python-client4____325Tùy chọn Nếu ứng dụng của bạn biết người dùng nào đang cố xác thực, ứng dụng có thể sử dụng tham số này để cung cấp gợi ý cho Máy chủ xác thực của Google. Máy chủ sử dụng gợi ý để đơn giản hóa quy trình đăng nhập bằng cách điền trước trường email trong biểu mẫu đăng nhập hoặc bằng cách chọn phiên đăng nhập nhiều lần thích hợp Đặt giá trị tham số thành địa chỉ email hoặc mã định danh pip install --upgrade google-api-python-client26, tương đương với ID Google của người dùng Để đặt giá trị này trong PHP, hãy gọi hàm pip install --upgrade google-api-python-client27 pip install --upgrade google-api-python-client5 pip install --upgrade google-api-python-client28Tùy chọn Danh sách lời nhắc được phân tách bằng dấu cách, phân biệt chữ hoa chữ thường để hiển thị người dùng. Nếu bạn không chỉ định tham số này, người dùng sẽ chỉ được nhắc khi dự án của bạn yêu cầu quyền truy cập lần đầu tiên. Xem Nhắc lại sự đồng ý để biết thêm thông tin Để đặt giá trị này trong PHP, hãy gọi hàm pip install --upgrade google-api-python-client29 pip install --upgrade google-api-python-client6 giá trị có thể là pip install --upgrade google-api-python-client30Không hiển thị bất kỳ màn hình xác thực hoặc đồng ý nào. Không được chỉ định với các giá trị khác. pip install --upgrade google-api-python-client31Nhắc người dùng đồng ý. pip install --upgrade google-api-python-client32Nhắc người dùng chọn một tài khoản con trănĐoạn mã sau sử dụng mô-đun pip install --upgrade google-api-python-client33 để xây dựng yêu cầu ủy quyền Mã này xây dựng một đối tượng pip install --upgrade google-api-python-client34, xác định ứng dụng của bạn bằng cách sử dụng thông tin từ client_secret. json mà bạn đã tải xuống sau khi tạo thông tin đăng nhập ủy quyền. Đối tượng đó cũng xác định phạm vi mà ứng dụng của bạn đang yêu cầu quyền truy cập và URL tới điểm cuối xác thực của ứng dụng, điểm cuối này sẽ xử lý phản hồi từ OAuth 2 của Google. 0 máy chủ. Cuối cùng, mã đặt các tham số $client = new Google\Client(); $client->setAuthConfig('client_secret.json');5 và $client = new Google\Client(); $client->setAuthConfig('client_secret.json');6 tùy chọn Ví dụ: mã này yêu cầu quyền truy cập ngoại tuyến, chỉ đọc vào Google Drive của người dùng pip install --upgrade google-api-python-client7 Yêu cầu chỉ định các thông tin sau Tham số$client = new Google\Client(); $client->setAuthConfig('client_secret.json');7Bắt buộc ID khách hàng cho ứng dụng của bạn. Bạn có thể tìm thấy giá trị này trong trang Thông tin xác thực bảng điều khiển API Trong Python, gọi phương thức pip install --upgrade google-api-python-client38 để truy xuất ID ứng dụng khách từ client_secret. tập tin json. (Bạn cũng có thể sử dụng phương thức pip install --upgrade google-api-python-client39, phương thức này chuyển cấu hình ứng dụng khách như ban đầu nó xuất hiện trong tệp bí mật ứng dụng khách nhưng không truy cập chính tệp đó. ) pip install --upgrade google-api-python-client8 $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9Bắt buộc Xác định nơi máy chủ API chuyển hướng người dùng sau khi người dùng hoàn thành quy trình ủy quyền. Giá trị phải khớp chính xác với một trong các URI chuyển hướng được ủy quyền cho OAuth 2. 0 mà bạn đã định cấu hình trong trang Thông tin xác thực bảng điều khiển API của ứng dụng khách của mình. Nếu giá trị này không khớp với URI chuyển hướng được ủy quyền cho $client = new Google\Client(); $client->setAuthConfig('client_secret.json');7 được cung cấp, bạn sẽ gặp lỗi pip install --upgrade google-api-python-client01 Lưu ý rằng lược đồ, trường hợp và dấu gạch chéo sau pip install --upgrade google-api-python-client02 hoặc pip install --upgrade google-api-python-client03 (' pip install --upgrade google-api-python-client04') phải khớp với nhau Để đặt giá trị này trong Python, hãy đặt thuộc tính $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9 của đối tượng pip install --upgrade google-api-python-client46 pip install --upgrade google-api-python-client9 pip install --upgrade google-api-python-client07Bắt buộc Danh sách các phạm vi xác định các tài nguyên mà ứng dụng của bạn có thể truy cập thay cho người dùng. Các giá trị này thông báo về màn hình đồng ý mà Google hiển thị cho người dùng Phạm vi cho phép ứng dụng của bạn chỉ yêu cầu quyền truy cập vào các tài nguyên mà nó cần đồng thời cho phép người dùng kiểm soát lượng truy cập mà họ cấp cho ứng dụng của bạn. Do đó, có một mối quan hệ nghịch đảo giữa số lượng phạm vi được yêu cầu và khả năng nhận được sự đồng ý của người dùng Trong Python, sử dụng cùng một phương pháp bạn sử dụng để đặt $client = new Google\Client(); $client->setAuthConfig('client_secret.json');7 để chỉ định danh sách phạm vi pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib20 Chúng tôi khuyên ứng dụng của bạn nên yêu cầu quyền truy cập vào phạm vi ủy quyền theo ngữ cảnh bất cứ khi nào có thể. Bằng cách yêu cầu quyền truy cập vào dữ liệu người dùng theo ngữ cảnh, thông qua ủy quyền gia tăng, bạn giúp người dùng dễ hiểu hơn lý do tại sao ứng dụng của bạn cần quyền truy cập mà ứng dụng đang yêu cầu $client = new Google\Client(); $client->setAuthConfig('client_secret.json');5Được đề xuất Cho biết liệu ứng dụng của bạn có thể làm mới mã thông báo truy cập khi người dùng không có mặt trên trình duyệt hay không. Các giá trị tham số hợp lệ là pip install --upgrade google-api-python-client10, là giá trị mặc định và pip install --upgrade google-api-python-client11 Đặt giá trị thành pip install --upgrade google-api-python-client11 nếu ứng dụng của bạn cần làm mới mã thông báo truy cập khi người dùng không có mặt trên trình duyệt. Đây là phương pháp làm mới mã thông báo truy cập được mô tả sau trong tài liệu này. Giá trị này hướng dẫn máy chủ ủy quyền của Google trả lại mã thông báo làm mới và mã thông báo truy cập vào lần đầu tiên ứng dụng của bạn trao đổi mã ủy quyền cho mã thông báo Trong Python, đặt tham số $client = new Google\Client(); $client->setAuthConfig('client_secret.json');5 bằng cách chỉ định $client = new Google\Client(); $client->setAuthConfig('client_secret.json');5 làm đối số từ khóa khi gọi phương thức pip install --upgrade google-api-python-client56 pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib21____314Đề xuất Chỉ định bất kỳ giá trị chuỗi nào mà ứng dụng của bạn sử dụng để duy trì trạng thái giữa yêu cầu ủy quyền của bạn và phản hồi của máy chủ ủy quyền. Máy chủ trả về giá trị chính xác mà bạn gửi dưới dạng cặp pip install --upgrade google-api-python-client15 trong thành phần truy vấn URL ( pip install --upgrade google-api-python-client16) của $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9 sau khi người dùng đồng ý hoặc từ chối yêu cầu truy cập ứng dụng của bạn Bạn có thể sử dụng tham số này cho một số mục đích, chẳng hạn như hướng người dùng đến đúng tài nguyên trong ứng dụng của bạn, gửi nonces và giảm thiểu giả mạo yêu cầu trên nhiều trang web. Vì có thể đoán được $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9 của bạn, nên việc sử dụng giá trị pip install --upgrade google-api-python-client14 có thể làm tăng sự đảm bảo của bạn rằng kết nối đến là kết quả của một yêu cầu xác thực. Nếu bạn tạo một chuỗi ngẫu nhiên hoặc mã hóa hàm băm của cookie hoặc giá trị khác nắm bắt trạng thái của ứng dụng khách, thì bạn có thể xác thực phản hồi để đảm bảo thêm rằng yêu cầu và phản hồi bắt nguồn từ cùng một trình duyệt, cung cấp khả năng bảo vệ chống lại các cuộc tấn công chẳng hạn như liên trang . Xem tài liệu OpenID Connect để biết ví dụ về cách tạo và xác nhận mã thông báo pip install --upgrade google-api-python-client14 Trong Python, đặt tham số pip install --upgrade google-api-python-client14 bằng cách chỉ định pip install --upgrade google-api-python-client14 làm đối số từ khóa khi gọi phương thức pip install --upgrade google-api-python-client56 pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib22 $client = new Google\Client(); $client->setAuthConfig('client_secret.json');6Tùy chọn Cho phép các ứng dụng sử dụng ủy quyền gia tăng để yêu cầu quyền truy cập vào các phạm vi bổ sung trong ngữ cảnh. Nếu bạn đặt giá trị của tham số này thành pip install --upgrade google-api-python-client23 và yêu cầu ủy quyền được cấp, thì mã thông báo truy cập mới cũng sẽ bao gồm mọi phạm vi mà người dùng đã cấp quyền truy cập ứng dụng trước đó. Xem phần ủy quyền gia tăng để biết ví dụ Trong Python, đặt tham số $client = new Google\Client(); $client->setAuthConfig('client_secret.json');6 bằng cách chỉ định $client = new Google\Client(); $client->setAuthConfig('client_secret.json');6 làm đối số từ khóa khi gọi phương thức pip install --upgrade google-api-python-client56 pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib23____325Tùy chọn Nếu ứng dụng của bạn biết người dùng nào đang cố xác thực, ứng dụng có thể sử dụng tham số này để cung cấp gợi ý cho Máy chủ xác thực của Google. Máy chủ sử dụng gợi ý để đơn giản hóa quy trình đăng nhập bằng cách điền trước trường email trong biểu mẫu đăng nhập hoặc bằng cách chọn phiên đăng nhập nhiều lần thích hợp Đặt giá trị tham số thành địa chỉ email hoặc mã định danh pip install --upgrade google-api-python-client26, tương đương với ID Google của người dùng Trong Python, đặt tham số pip install --upgrade google-api-python-client25 bằng cách chỉ định pip install --upgrade google-api-python-client25 làm đối số từ khóa khi gọi phương thức pip install --upgrade google-api-python-client56 pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib24 pip install --upgrade google-api-python-client28Tùy chọn Danh sách lời nhắc được phân tách bằng dấu cách, phân biệt chữ hoa chữ thường để hiển thị người dùng. Nếu bạn không chỉ định tham số này, người dùng sẽ chỉ được nhắc khi dự án của bạn yêu cầu quyền truy cập lần đầu tiên. Xem Nhắc lại sự đồng ý để biết thêm thông tin Trong Python, đặt tham số pip install --upgrade google-api-python-client28 bằng cách chỉ định pip install --upgrade google-api-python-client28 làm đối số từ khóa khi gọi phương thức pip install --upgrade google-api-python-client56 pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib25 giá trị có thể là pip install --upgrade google-api-python-client30Không hiển thị bất kỳ màn hình xác thực hoặc đồng ý nào. Không được chỉ định với các giá trị khác. pip install --upgrade google-api-python-client31Nhắc người dùng đồng ý. pip install --upgrade google-api-python-client32Nhắc người dùng chọn một tài khoản hồng ngọcSử dụng client_secrets. json mà bạn đã tạo để định cấu hình đối tượng máy khách trong ứng dụng của mình. Khi định cấu hình đối tượng máy khách, bạn chỉ định phạm vi mà ứng dụng của mình cần truy cập, cùng với URL tới điểm cuối xác thực của ứng dụng, điểm cuối này sẽ xử lý phản hồi từ OAuth 2. 0 máy chủ Ví dụ: mã này yêu cầu quyền truy cập ngoại tuyến, chỉ đọc vào Google Drive của người dùng pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib26 Ứng dụng của bạn sử dụng đối tượng máy khách để thực hiện OAuth 2. 0, chẳng hạn như tạo URL yêu cầu ủy quyền và áp dụng mã thông báo truy cập cho các yêu cầu HTTP Nút. jsĐoạn mã dưới đây tạo một đối tượng pip install --upgrade google-api-python-client84, xác định các tham số trong yêu cầu ủy quyền Đối tượng đó sử dụng thông tin từ client_secret của bạn. json để xác định ứng dụng của bạn. Để yêu cầu người dùng cấp quyền truy xuất mã thông báo truy cập, bạn chuyển hướng họ đến trang đồng ý. Cách tạo URL trang đồng ý pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib27 Lưu ý quan trọng - pip install --upgrade google-api-python-client85 chỉ được trả lại trong lần ủy quyền đầu tiên. Thêm chi tiết tại đây HTTP/NGƯỜIOAuth 2 của Google. 0 điểm cuối là tại pip install --upgrade google-api-python-client86. Chỉ có thể truy cập điểm cuối này qua HTTPS. Kết nối HTTP đơn giản bị từ chối Máy chủ ủy quyền của Google hỗ trợ các tham số chuỗi truy vấn sau cho các ứng dụng máy chủ web Tham số$client = new Google\Client(); $client->setAuthConfig('client_secret.json');7Bắt buộc ID khách hàng cho ứng dụng của bạn. Bạn có thể tìm thấy giá trị này trong trang Thông tin xác thực bảng điều khiển API $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9Bắt buộc Xác định nơi máy chủ API chuyển hướng người dùng sau khi người dùng hoàn thành quy trình ủy quyền. Giá trị phải khớp chính xác với một trong các URI chuyển hướng được ủy quyền cho OAuth 2. 0 mà bạn đã định cấu hình trong trang Thông tin xác thực bảng điều khiển API của ứng dụng khách của mình. Nếu giá trị này không khớp với URI chuyển hướng được ủy quyền cho $client = new Google\Client(); $client->setAuthConfig('client_secret.json');7 được cung cấp, bạn sẽ gặp lỗi pip install --upgrade google-api-python-client01 Lưu ý rằng lược đồ, trường hợp và dấu gạch chéo sau pip install --upgrade google-api-python-client02 hoặc pip install --upgrade google-api-python-client03 (' pip install --upgrade google-api-python-client04') phải khớp với nhau pip install --upgrade google-api-python-client94Bắt buộc Xác định xem Google OAuth 2. 0 điểm cuối trả về mã ủy quyền Đặt giá trị tham số thành pip install --upgrade google-api-python-client95 cho các ứng dụng máy chủ web pip install --upgrade google-api-python-client07Bắt buộc Danh sách phạm vi được phân tách bằng dấu cách xác định các tài nguyên mà ứng dụng của bạn có thể truy cập thay mặt cho người dùng. Các giá trị này thông báo về màn hình đồng ý mà Google hiển thị cho người dùng Phạm vi cho phép ứng dụng của bạn chỉ yêu cầu quyền truy cập vào các tài nguyên mà nó cần đồng thời cho phép người dùng kiểm soát lượng truy cập mà họ cấp cho ứng dụng của bạn. Do đó, có một mối quan hệ nghịch đảo giữa số lượng phạm vi được yêu cầu và khả năng nhận được sự đồng ý của người dùng Chúng tôi khuyên ứng dụng của bạn nên yêu cầu quyền truy cập vào phạm vi ủy quyền theo ngữ cảnh bất cứ khi nào có thể. Bằng cách yêu cầu quyền truy cập vào dữ liệu người dùng theo ngữ cảnh, thông qua ủy quyền gia tăng, bạn giúp người dùng dễ hiểu hơn lý do tại sao ứng dụng của bạn cần quyền truy cập mà ứng dụng đang yêu cầu $client = new Google\Client(); $client->setAuthConfig('client_secret.json');5Được đề xuất Cho biết liệu ứng dụng của bạn có thể làm mới mã thông báo truy cập khi người dùng không có mặt trên trình duyệt hay không. Các giá trị tham số hợp lệ là pip install --upgrade google-api-python-client10, là giá trị mặc định và pip install --upgrade google-api-python-client11 Đặt giá trị thành pip install --upgrade google-api-python-client11 nếu ứng dụng của bạn cần làm mới mã thông báo truy cập khi người dùng không có mặt trên trình duyệt. Đây là phương pháp làm mới mã thông báo truy cập được mô tả sau trong tài liệu này. Giá trị này hướng dẫn máy chủ ủy quyền của Google trả lại mã thông báo làm mới và mã thông báo truy cập vào lần đầu tiên ứng dụng của bạn trao đổi mã ủy quyền cho mã thông báo pip install --upgrade google-api-python-client14Được đề xuất Chỉ định bất kỳ giá trị chuỗi nào mà ứng dụng của bạn sử dụng để duy trì trạng thái giữa yêu cầu ủy quyền của bạn và phản hồi của máy chủ ủy quyền. Máy chủ trả về giá trị chính xác mà bạn gửi dưới dạng cặp pip install --upgrade google-api-python-client15 trong thành phần truy vấn URL ( pip install --upgrade google-api-python-client16) của $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9 sau khi người dùng đồng ý hoặc từ chối yêu cầu truy cập ứng dụng của bạn Bạn có thể sử dụng tham số này cho một số mục đích, chẳng hạn như hướng người dùng đến đúng tài nguyên trong ứng dụng của bạn, gửi nonces và giảm thiểu giả mạo yêu cầu trên nhiều trang web. Vì có thể đoán được $client = new Google\Client(); $client->setAuthConfig('client_secret.json');9 của bạn, nên việc sử dụng giá trị pip install --upgrade google-api-python-client14 có thể làm tăng sự đảm bảo của bạn rằng kết nối đến là kết quả của một yêu cầu xác thực. Nếu bạn tạo một chuỗi ngẫu nhiên hoặc mã hóa hàm băm của cookie hoặc giá trị khác nắm bắt trạng thái của ứng dụng khách, thì bạn có thể xác thực phản hồi để đảm bảo thêm rằng yêu cầu và phản hồi bắt nguồn từ cùng một trình duyệt, cung cấp khả năng bảo vệ chống lại các cuộc tấn công chẳng hạn như liên trang . Xem tài liệu OpenID Connect để biết ví dụ về cách tạo và xác nhận mã thông báo pip install --upgrade google-api-python-client14 $client = new Google\Client(); $client->setAuthConfig('client_secret.json');6Tùy chọn Cho phép các ứng dụng sử dụng ủy quyền gia tăng để yêu cầu quyền truy cập vào các phạm vi bổ sung trong ngữ cảnh. Nếu bạn đặt giá trị của tham số này thành pip install --upgrade google-api-python-client23 và yêu cầu ủy quyền được cấp, thì mã thông báo truy cập mới cũng sẽ bao gồm mọi phạm vi mà người dùng đã cấp quyền truy cập ứng dụng trước đó. Xem phần ủy quyền gia tăng để biết ví dụ pip install --upgrade google-api-python-client25Tùy chọn Nếu ứng dụng của bạn biết người dùng nào đang cố xác thực, ứng dụng có thể sử dụng tham số này để cung cấp gợi ý cho Máy chủ xác thực của Google. Máy chủ sử dụng gợi ý để đơn giản hóa quy trình đăng nhập bằng cách điền trước trường email trong biểu mẫu đăng nhập hoặc bằng cách chọn phiên đăng nhập nhiều lần thích hợp Đặt giá trị tham số thành địa chỉ email hoặc mã định danh pip install --upgrade google-api-python-client26, tương đương với ID Google của người dùng pip install --upgrade google-api-python-client28Tùy chọn Danh sách lời nhắc được phân tách bằng dấu cách, phân biệt chữ hoa chữ thường để hiển thị người dùng. Nếu bạn không chỉ định tham số này, người dùng sẽ chỉ được nhắc khi dự án của bạn yêu cầu quyền truy cập lần đầu tiên. Xem Nhắc lại sự đồng ý để biết thêm thông tin giá trị có thể là pip install --upgrade google-api-python-client30Không hiển thị bất kỳ màn hình xác thực hoặc đồng ý nào. Không được chỉ định với các giá trị khác. pip install --upgrade google-api-python-client31Nhắc người dùng đồng ý. pip install --upgrade google-api-python-client32Nhắc người dùng chọn một tài khoản Bước 2. Chuyển hướng đến OAuth 2 của Google. 0 máy chủChuyển hướng người dùng đến OAuth 2 của Google. 0 để bắt đầu quá trình xác thực và ủy quyền. Thông thường, điều này xảy ra khi ứng dụng của bạn lần đầu tiên cần truy cập dữ liệu của người dùng. Trong trường hợp ủy quyền gia tăng, bước này cũng xảy ra khi ứng dụng của bạn lần đầu tiên cần truy cập các tài nguyên bổ sung mà nó chưa có quyền truy cập Ví dụ này cho thấy cách chuyển hướng người dùng đến URL ủy quyền bằng khung ứng dụng web Flask Một URL ví dụ được hiển thị bên dưới, với các ngắt dòng và khoảng trắng để dễ đọc Sau khi bạn tạo URL yêu cầu, hãy chuyển hướng người dùng đến đó OAuth 2 của Google. 0 xác thực người dùng và nhận được sự đồng ý từ người dùng để ứng dụng của bạn truy cập vào các phạm vi được yêu cầu. Phản hồi được gửi lại cho ứng dụng của bạn bằng URL chuyển hướng mà bạn đã chỉ định Bước 3. Google nhắc người dùng đồng ýTrong bước này, người dùng quyết định có cấp cho ứng dụng của bạn quyền truy cập được yêu cầu hay không. Ở giai đoạn này, Google sẽ hiển thị một cửa sổ đồng ý hiển thị tên ứng dụng của bạn và các dịch vụ Google API mà nó đang yêu cầu quyền truy cập bằng thông tin đăng nhập ủy quyền của người dùng và tóm tắt phạm vi quyền truy cập được cấp. Sau đó, người dùng có thể đồng ý cấp quyền truy cập vào một hoặc nhiều phạm vi mà ứng dụng của bạn yêu cầu hoặc từ chối yêu cầu Ứng dụng của bạn không cần phải làm gì ở giai đoạn này vì nó chờ phản hồi từ OAuth 2 của Google. 0 máy chủ cho biết liệu có bất kỳ quyền truy cập nào được cấp hay không. Phản hồi đó được giải thích trong bước sau lỗiYêu cầu đối với OAuth 2 của Google. 0 điểm cuối ủy quyền có thể hiển thị thông báo lỗi do người dùng gặp phải thay vì luồng xác thực và ủy quyền dự kiến. Mã lỗi phổ biến và giải pháp được đề xuất được liệt kê bên dưới
|
Bài Viết Liên Quan
Hướng dẫn micropython unsigned int - int không dấu micropython
Sau đây là một số ví dụ về việc sử dụng trình biên dịch nội tuyến và một số thông tin về cách làm việc xung quanh các hạn chế của nó. Trong tài liệu ...
Hướng dẫn convert latex to image python - chuyển đổi latex thành hình ảnh python
Tôi có một chức năng Tôi đang tiêu thụ trả về một chuỗi mã latex. Tôi cần tạo ra một hình ảnh từ điều này. Hầu hết các phương pháp tôi đã thấy khi ...
Hướng dẫn how do you use if and function in excel with multiple conditions? - làm thế nào để bạn sử dụng if và chức năng trong excel với nhiều điều kiện?
Hướng dẫn chỉ ra cách tạo nhiều câu lệnh IF trong Excel với và cũng như hoặc logic. Ngoài ra, bạn sẽ học cách sử dụng nếu cùng với các hàm Excel khác.Trong ...
Đầu dvd fortuner 2023
Trang chủĐầu DVD GPS Toyota Innova -FortunerBạn cảm thấy bài viết hữu ích?Bài viết liên quanBài viết nổi bậtBài viết mới nhấtdanhgiaXe NewsBài viết: ...
Hướng dẫn python for genomic data science pdf - python cho khoa học dữ liệu bộ gen pdf
Python cho khoa học dữ liệu bộ gen Tin sinh họcGiới thiệu về bộ genGiới thiệu PythonThiết lập hệ thống cho khoa học dữ liệuHướng dẫn về Notebook JupyterDữ ...
Hướng dẫn how do you generate a random 16 digit number in python? - làm thế nào để bạn tạo một số gồm 16 chữ số ngẫu nhiên trong python?
Việc triển khai [159518, 160205, 159843, 159997, 160493, 160187, 160626, 159665, 159429, 160037] 5 trong Python cố gắng sử dụng trình tạo [159518, 160205, 159843, 159997, 160493, ...
Đặt lại pass mysql linux ubuntu
MySQL reset Root Password là gì?Yêu cầu khi reset Pass MySQLCách MySQL reset Root Password trên các hệ điều hànhWindowsLinuxMySQL reset Root Password là nhu cầu có thể phát sinh ...
Hướng dẫn python json get value by key - python json nhận giá trị theo khóa
Trong khi tôi đang cố gắng truy xuất các giá trị từ chuỗi JSON, nhưng nó cho tôi một lỗi:data = json.loads({lat:444, lon:555}) return data[lat] Nhưng, nếu tôi lặp ...
Hướng dẫn mysql connector-java version - phiên bản kết nối mysql-java
Configuration properties define how Connector/J will make a connection to a MySQL server. Unless otherwise noted, properties can be set for a DataSource object or for a Connection object. ...
Hướng dẫn should i learn data science first or python? - tôi nên học khoa học dữ liệu trước hay trăn?
Suy nghĩ về việc trở thành một nhà phân tích dữ liệu? Nó là một con đường sự nghiệp rất hứa hẹn, nhưng các nhà phân tích dữ liệu thường được yêu ...
Hướng dẫn create a python gui application for temperature converter from celsius to fahrenheit and vice versa - tạo một ứng dụng gui python để chuyển đổi nhiệt độ từ c sang fahrenheit và ngược lại
import tkinter as tkfrom tkinter import messageboxfrom functools import partialtkinter as tk0____11 tkinter as tk2tkinter as tk3 tkinter as tk4tkinter as tk5tkinter as tk6 tkinter as tk7tkinter as ...
Hướng dẫn what is css full form in selenium? - css dạng đầy đủ trong selen là gì?
Bộ chọn CSS là gì?Các bộ chọn CSS trong selen là các mẫu chuỗi được sử dụng để xác định một phần tử dựa trên sự kết hợp của thẻ HTML, ID, lớp và ...
What day will JUNE 28th be on in 2023?
Other CalendarsCalendar Generator – Create a calendar for any year.Custom Calendar – Make advanced customized calendarsCalendar for 2022Printable Calendar (PDF) – Calendars especially made for ...
Nghị định hướng dẫn luật đầu tư công 2023
Ảnh minh họa. Nguồn: internetChỉ quyết định chủ trương đầu tư các dự án có hiệu quảChương trình thực hành tiết kiệm, chống lãng phí giai đoạn 2021-2025 ...
Hướng dẫn modulo in python example - mô-đun trong ví dụ python
Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để làm sâu sắc ...
Hướng dẫn crop pdf python - cắt xén pdf trăn
How do I know the coordinates to crop?Thanks for all answers above.Step 1. Run the following code to get (x1, y1).from PyPDF2 import PdfWriter, PdfReader reader = PdfReader(test.pdf) page = ...
Hướng dẫn open xlsx file in google sheets - mở tệp xlsx trong trang tính google
Tự động xem các tệp XLSX dưới dạng Google Sheet bằng cách cài đặt trình cắm Chrome này.Các báo cáo được tải xuống dưới dạng các tệp Microsoft Excel, với ...
Hướng dẫn how to reverse a string in javascript using while loop - cách đảo ngược chuỗi trong javascript bằng vòng lặp while
Có nhiều cách bạn có thể đảo ngược một chuỗi trong JavaScript. Tôi đang chia sẻ một phương thức đơn giản ở đây, cho thấy cách đảo ngược chuỗi hoặc ...
Hướng dẫn how zip all files in folder in php? - cách nén tất cả các tệp trong thư mục trong php?
Tôi đã tìm thấy bài đăng này trong Google là kết quả hàng đầu thứ hai, đầu tiên là sử dụng Exec :(Dù sao, trong khi điều này không chính xác là nhu cầu của ...
What is the cheapest time to go to Disney World 2023?
The Cheapest Time To Go To Disney World 2022The Cheapest Time To Go To Disney World 2022Are you looking for the cheapest time to visit Disney in 2022? The truth is, who isn’t! A trip to Disney ...