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ụ Để đặ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
|