1
애플리케이션에 Google 드라이브 파일 권한을 구현했습니다. 모든 것은 내가 insert a permission하려고 할 때, 내가 도착, 한 명의 사용자 만 (이메일)을 위해, 완벽하게 작동Google 드라이브 REST API - 한 사용자에 대한 권한 값이 잘못되었습니다.
잘못된 요청 (400) : 누구든지 내가이 얻을 왜 아이디어가있다
잘못된 권한 값 한 사용자 만 오류가 있습니까? 이 사용자에 대한 제한 사항은 표시되지 않지만 어쩌면 놓친 것일 수 있습니다.
내가$this->client->execute($httpRequest)
를 호출하기 전에
var_dump($httpRequest);
을 만들어 디버깅되었고, 나는이 목적을 가지고 있지만
public function insert_permission($FileID, $Value, $Type, $Role, $OptParams = array(), $Service = NULL) {
if(empty($Service)) {
$Client = $this->get_client_sa();
$Service = new Google_Service_Drive($Client);
}
$NewPermission = new Google_Service_Drive_Permission();
$NewPermission->setValue($Value);
//$NewPermission->setEmailAddress($Value);
$NewPermission->setType($Type);
// commenter additional role
if($Role == "commenter") {
$Role = "reader";
$NewPermission->setAdditionalRoles(["commenter"]);
}
$NewPermission->setRole($Role);
$i = 0;
$maxTries = 3;
$ErrorMessage = "";
while($i < $maxTries) {
try {
return $Service->permissions->insert($FileID, $NewPermission, $OptParams);
} catch (Exception $E) {
$ErrorMessage = $E->getMessage();
if($E->getCode() != 500)
$i++;
}
}
$this->session->set_userdata("error", $ErrorMessage);
return $E;
}
(I 사용자의 이메일을 삭제 : 여기
(나는) google api client (REST API를 v2를 사용하고 있습니다) 내 삽입 권한 기능입니다 보안 및 개인 정보 보호를위한 목적에서, 파일 ID 및 인증 토큰) :object(Google_Http_Request)#69 (15) {
["batchHeaders":"Google_Http_Request":private]=>
array(3) {
["Content-Type"]=>
string(16) "application/http"
["Content-Transfer-Encoding"]=>
string(6) "binary"
["MIME-Version"]=>
string(3) "1.0"
}
["queryParams":protected]=>
array(0) {
}
["requestMethod":protected]=>
string(4) "POST"
["requestHeaders":protected]=>
array(2) {
["content-type"]=>
string(31) "application/json; charset=UTF-8"
["authorization"]=>
string(183) "token_string"
}
["baseComponent":protected]=>
string(26) "https://www.googleapis.com"
["path":protected]=>
string(72) "/drive/v2/files/file_id/permissions"
["postBody":protected]=>
string(64) "{"role":"writer","type":"user","value":"user_email"}"
["userAgent":protected]=>
NULL
["canGzip":protected]=>
NULL
["responseHttpCode":protected]=>
NULL
["responseHeaders":protected]=>
NULL
["responseBody":protected]=>
NULL
["expectedClass":protected]=>
string(31) "Google_Service_Drive_Permission"
["expectedRaw":protected]=>
bool(false)
["accessKey"]=>
NULL
}
모든 것이 나에게 확인을보고 내가 이미 말했듯이 다른 모든 사용자에 대해 작동합니다. 나는이 문제를 저에게주는 동일한 사용자에 대해 Postman과 전화를 걸었습니다. 문제가 발생하여 코드에 문제가있을 것입니다.
코드를 디버깅하기 전에 질문을 수정하고 코드를 공유해야합니다. "잘못된 권한 값"은 해당 사용자에게 허용되지 않은 권한에 대한 값을 설정하려고한다는 것을 의미합니다. – DaImTo
내 게시물을 편집했습니다. 다시 확인하십시오. 고맙습니다. – Silko