使用php api复制google doc电子表格

时间:2014-12-03 12:14:09

标签: php excel copy google-docs google-api-php-client

我想复制Google Doc电子表格文件。我正在使用<{3}}

function copyFile($service, $originFileId, $copyTitle) {
  $copiedFile = new Google_DriveFile();
  $copiedFile->setTitle($copyTitle);
  try {
    return $service->files->copy($originFileId, $copiedFile);
  } catch (Exception $e) {
    print "An error occurred: " . $e->getMessage();
  }
  return NULL;
}


require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_DriveService.php';

$client = new Google_Client();
// Get your credentials from the console
$client->setClientId('myclientid');
$client->setClientSecret('myclient secret');
$client->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$client->setScopes(array('https://www.googleapis.com/auth/drive'));

$service = new Google_DriveService($client);



copyFile($service,'my schema id','Copy Of Schema');

我无法获得$ service实例。所以我搜索并获得了上述方法,但现在它提供了401登录所需的错误。

请帮帮我

1 个答案:

答案 0 :(得分:0)

您需要检查用户是否有足够的授权

  1. 您需要生成授权网址:
  2.   

    $ authUrl = $ client-&gt; createAuthUrl();

    1. 将用户重定向到authUrl

    2. 让用户粘贴授权码:

    3. $authCode = trim(fgets(STDIN));
      
      1. 身份验证
      2.   

        $ accessToken = $ client-&gt; authenticate($ authCode);

             

        $客户端 - &GT; setAccessToken($的accessToken);

        1. 完成上述操作后,您现在已经通过OAuth对用户进行了身份验证以访问驱动器。
        2. 参考:Click here