Tôi đang sử dụng google-api-php-client 0.6.1 và tôi muốn biết có cách nào để mạo danh người dùng cụ thể bằng tài khoản dịch vụ không? Ứng dụng của tôi cần lưu trữ một số tệp trong ổ google của nó. Vì vậy, tôi đã quyết định sử dụng tài khoản dịch vụ và khóa .p12 - xác thực. Nó hoạt động tốt, nhưng tất cả các tập tin đang được lưu trữ trong tài khoản dịch vụ, vì vậy tôi không thể quản lý chúng. Tôi muốn tài liệu được lưu trữ tại tài khoản nhất định (đã được sử dụng để tạo dự án api và bản thân tài khoản dịch vụ). Tôi đã cố gắng sử dụng mã này:Mạo danh người dùng google với tài khoản dịch vụ
$KEY_FILE = <p12 key file path>;
$key = file_get_contents($KEY_FILE);
$auth = new Google_AssertionCredentials(
$SERVICE_ACCOUNT_NAME,
array('https://www.googleapis.com/auth/drive'),
$key);
$auth->prn = '<[email protected]>';
$client = new Google_Client();
$client->setUseObjects(true);
$client->setAssertionCredentials($auth);
return new Google_DriveService($client);
nhưng tôi có "Lỗi khi làm mới token OAuth2, thông điệp: '{ "lỗi": "access_denied"}'"
Tôi gặp vấn đề tương tự và có vẻ như tôi nên thực hiện một số thay đổi trong cấu hình google. Bạn đã tìm thấy giải pháp chưa? Bạn có thể chỉ cho tôi những gì tôi nên thay đổi? – Sergei