adrianno 7 Denunciar post Postado Fevereiro 2, 2016 Olá, gostaria de saber se alguem tem um exemplo funcionando para trabalhar com API do google drive eu tenho a biblioteca cliente carregada corretamente pelo composer, mas eu nao consigo êxito na execução como por exemplo listar os arquivos do meu drive por exemplo, eu preciso na verdade montar uma função que vai alterar a permissão de um arquivo, setando acesso para um determinado email,reporta o erroAn error occurred: Error calling POST : (401) Login Required Mas setei os dados do cliente API require_once './vendor/autoload.php'; $client = new Google_Client(); $client->setApplicationName("Web1"); $client->setDeveloperKey("9lhHpFyg-0"); $service = new Google_Service_Drive($client); /** * Retrieve a list of File resources. * * @param Google_Service_Drive $service Drive API service instance. * @return Array List of Google_Service_Drive_DriveFile resources. */ function insertPermission($service, $fileId, $value, $type, $role) { $newPermission = new Google_Service_Drive_Permission(); $newPermission->setValue($value); $newPermission->setType($type); $newPermission->setRole($role); try { return $service->permissions->insert($fileId, $newPermission); } catch (Exception $e) { print "An error occurred: " . $e->getMessage(); } return NULL; } insertPermission($service, "0B3h9hakl2lKbC14cGs", "000002@gmail.com", "user", "reader"); Compartilhar este post Link para o post Compartilhar em outros sites
rockrgo 138 Denunciar post Postado Fevereiro 2, 2016 https://github.com/eduardocasas/Google-Drive-PHP-API-Simple-App-Example Compartilhar este post Link para o post Compartilhar em outros sites
adrianno 7 Denunciar post Postado Fevereiro 2, 2016 Obrigado pela resposta, eu já tinha revirado estes exemplos, sem sucesso, da algumas falhas que não encontro a razão, mas obrigado mesmo assim Compartilhar este post Link para o post Compartilhar em outros sites
adrianno 7 Denunciar post Postado Fevereiro 2, 2016 Alguem ai que ja trabalhou com isso, sabe me informar o que está faltando nos dados de acesso a API? Compartilhar este post Link para o post Compartilhar em outros sites
rockrgo 138 Denunciar post Postado Fevereiro 2, 2016 Cara isso é falha de autenticação. Onde está setando as configurações abaixo? $client->setClientId('<YOUR_CLIENT_ID>'); $client->setClientSecret('<YOUR_CLIENT_SECRET>'); $client->setRedirectUri('<YOUR_REGISTERED_REDIRECT_URI>'); Da uma olhada neste post abaixo http://stackoverflow.com/questions/25707891/google-drive-php-api-simple-file-upload Compartilhar este post Link para o post Compartilhar em outros sites
adrianno 7 Denunciar post Postado Fevereiro 2, 2016 OPa!! quando coloquei no post, faltou um pedaço, esta $client = new Google_Client(); $client->setApplicationName("Web1"); $client->setDeveloperKey("9lhHpFyg-0"); $client->setClientId('<YOUR_CLIENT_ID>');$client->setClientSecret('<YOUR_CLIENT_SECRET>');$client->setRedirectUri('<YOUR_REGISTERED_REDIRECT_URI>'); Compartilhar este post Link para o post Compartilhar em outros sites
rockrgo 138 Denunciar post Postado Fevereiro 2, 2016 A grande maioria dessas apis são parecidas a forma de autenticação, para você estar realmente autenticado você deve gerar uma chave (access token), da uma olhada na documentação https://developers.google.com/drive/v3/web/quickstart/php no trecho de código abaixo é onde é gerado esse token de acesso // Load previously authorized credentials from a file. $credentialsPath = expandHomeDirectory(CREDENTIALS_PATH); if (file_exists($credentialsPath)) { $accessToken = file_get_contents($credentialsPath); } else { // Request authorization from the user. $authUrl = $client->createAuthUrl(); printf("Open the following link in your browser:\n%s\n", $authUrl); print 'Enter verification code: '; $authCode = trim(fgets(STDIN)); // Exchange authorization code for an access token. $accessToken = $client->authenticate($authCode); // Store the credentials to disk. if(!file_exists(dirname($credentialsPath))) { mkdir(dirname($credentialsPath), 0700, true); } file_put_contents($credentialsPath, $accessToken); printf("Credentials saved to %s\n", $credentialsPath); } $client->setAccessToken($accessToken); Compartilhar este post Link para o post Compartilhar em outros sites