Khắc phục sự cố xác thực và uỷ quyền

Trang này mô tả một số vấn đề thường gặp mà bạn có thể gặp phải liên quan đến việc xác thực và uỷ quyền.

This app isn't verified

Nếu màn hình yêu cầu đồng ý OAuth hiển thị cảnh báo "Ứng dụng này chưa được xác minh", thì ứng dụng của bạn đang yêu cầu các phạm vi cung cấp quyền truy cập vào dữ liệu nhạy cảm của người dùng. Nếu ứng dụng của bạn sử dụng các phạm vi nhạy cảm, thì ứng dụng đó phải trải qua quy trình xác minh để xoá cảnh báo đó và các giới hạn khác. Trong giai đoạn phát triển, bạn có thể tiếp tục bỏ qua cảnh báo này bằng cách chọn Advanced (Nâng cao) > Go to {Project Name} (unsafe) (Chuyển đến {Project Name} (không an toàn)).

File not found error for credentials.json

Khi chạy mã mẫu, bạn có thể nhận được thông báo lỗi "không tìm thấy tệp" hoặc "không có tệp như vậy" liên quan đến credentials.json.

Lỗi này xảy ra khi bạn chưa uỷ quyền thông tin xác thực của ứng dụng dành cho máy tính. Để tìm hiểu cách tạo thông tin xác thực cho ứng dụng dành cho máy tính, hãy chuyển đến phần Tạo thông tin xác thực.

Sau khi bạn tạo thông tin xác thực, hãy đảm bảo tệp JSON đã tải xuống được lưu dưới dạng credentials.json. Sau đó, hãy di chuyển tệp đó vào thư mục đang hoạt động.

Token has been expired or revoked

Khi chạy mã mẫu, bạn có thể nhận được thông báo lỗi "Mã thông báo đã hết hạn" hoặc "Mã thông báo đã bị thu hồi".

Lỗi này xảy ra khi mã truy cập từ Máy chủ uỷ quyền của Google đã hết hạn hoặc bị thu hồi. Để biết thông tin về các nguyên nhân và cách khắc phục có thể xảy ra, hãy xem phần Hết hạn mã thông báo làm mới.

Lỗi JavaScript

Sau đây là một số lỗi JavaScript thường gặp.

Error: origin_mismatch

Lỗi này xảy ra trong quy trình uỷ quyền nếu máy chủ lưu trữ và cổng dùng để phân phát trang web không khớp với một nguồn gốc JavaScript được phép trên dự án Google Cloud Console. Đảm bảo bạn đặt một nguồn gốc JavaScript được uỷ quyền và URL trong trình duyệt khớp với URL gốc.

idpiframe_initialization_failed: Failed to read the 'localStorage' property from 'Window'

Lỗi này xảy ra khi bạn chưa bật cookie của bên thứ ba và bộ nhớ dữ liệu trong trình duyệt. Thư viện Đăng nhập bằng Google yêu cầu các tuỳ chọn này. Để biết thêm thông tin, hãy xem phần Cookie của bên thứ ba và lưu trữ dữ liệu.

idpiframe_initialization_failed: Not a valid origin for the client

Lỗi này xảy ra khi miền đã đăng ký không khớp với miền đang được dùng để lưu trữ trang web. Đảm bảo rằng nguồn gốc bạn đã đăng ký khớp với URL trong trình duyệt.

Lỗi Python

AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

Lỗi này có thể xảy ra trong Mac OSX, trong đó quá trình cài đặt mặc định của mô-đun six (một phần phụ thuộc của thư viện Python) được tải trước quá trình cài đặt mà pip đã cài đặt. Để khắc phục vấn đề này, hãy thêm vị trí cài đặt của pip vào biến môi trường hệ thống PYTHONPATH:

  1. Xác định vị trí cài đặt của pip:

    pip show six | grep "Location:" | cut -d " " -f2
    

    Ghi lại vị trí này vì bạn sẽ cần đến trong bước tiếp theo.

  2. Thêm dòng sau vào tệp ~/.bashrc, thay thế INSTALL_PATH bằng vị trí được xác định từ bước trước:

    export PYTHONPATH=$PYTHONPATH:INSTALL_PATH
    
  3. Tải lại tệp ~/.bashrc:

    source ~/.bashrc
    

TypeError: sequence item 0: expected str instance, bytes found

Lỗi này là do một lỗi trong httplib2. Để giải quyết vấn đề này, hãy nâng cấp lên phiên bản httplib2 mới nhất:

pip install --upgrade httplib2

Cannot uninstall 'six'

Khi chạy lệnh pip install, bạn có thể gặp lỗi sau:

Cannot uninstall 'six'. It is a distutils installed project and thus we
cannot accurately determine which files belong to it which would lead to
only a partial uninstall.

Lỗi này xảy ra trên Mac OSX khi pip cố gắng nâng cấp gói six được cài đặt sẵn. Để giải quyết vấn đề này, hãy thêm cờ --ignore-installed six vào lệnh pip install.