使用PHP将数据添加到Google电子表格

使用PHP将数据添加到Google电子表格,php,google-sheets,Php,Google Sheets,我正在尝试用php创建一个自动化脚本,它将一行新信息添加到我共享的google工作表中。我整个上午都在浏览教程,试图弄明白这一点,但每种方法都不同,似乎并不完全是我需要做的。基本上,当表单在我的站点上提交时,这个脚本将被触发。它将以表格数据形式输入我的谷歌表单 我已经在我的项目下创建了一个服务帐户,它存储在下载的json文件中。这是我现在的剧本。它给了我以下的错误 { "error": { "code": 403, "message": "The caller does not ha

我正在尝试用php创建一个自动化脚本,它将一行新信息添加到我共享的google工作表中。我整个上午都在浏览教程,试图弄明白这一点,但每种方法都不同,似乎并不完全是我需要做的。基本上,当表单在我的站点上提交时,这个脚本将被触发。它将以表格数据形式输入我的谷歌表单

我已经在我的项目下创建了一个服务帐户,它存储在下载的json文件中。这是我现在的剧本。它给了我以下的错误

{ "error": { 
  "code": 403, 
  "message": "The caller does not have permission", 
  "errors": [ { 
    "message": "The caller does not have permission", 
    "domain": "global", 
    "reason": "forbidden" 
  } ], 
  "status": "PERMISSION_DENIED"
}
这是我正在运行的代码。(是的,它不完整,因为我无法通过授权)


提前感谢您的帮助

在添加和创建访问令牌时,您是否设置了正确的作用域。如果使用了范围值

”“而不是

“”您将没有对google工作表的写入权限

如果您可以共享创建bdgsheets.json文件的代码段,则很容易理解您是否具有“写入”权限

另外,尝试更改这段代码

$client->setscope(['',])

$client->setscope([''])


试一试

我需要一些立即的帮助。你可以使用skype吗?以上操作不正确我不确定我们是否可以在这里共享skype id?我是这个论坛的新成员。转到我的个人资料,你可以通过我的网站找到我。rinsad.ahmed就是我。让我来帮你
public function index()
{
    $this->load->helper("url");
    require APPPATH . 'third_party/GoogleAPI/vendor/autoload.php';


    putenv('GOOGLE_APPLICATION_CREDENTIALS=' . APPPATH . 'third_party/GoogleAPI/bdgsheets.json');
    $client = new Google_Client;
    $client->useApplicationDefaultCredentials();

    $client->setApplicationName("Is this working");
    $client->setScopes(['https://www.googleapis.com/auth/drive','https://spreadsheets.google.com/feeds']);
    $client->setAccessType('offline');

    if ($client->isAccessTokenExpired()) {
        $client->refreshTokenWithAssertion();
    }

    $accessToken = $client->fetchAccessTokenWithAssertion()["access_token"];

    $sheets = new Google_Service_Sheets($client);

    $data = [];
    $current_row = 2;
    $spreadsheet_id = "{my spreadsheet id here}";
    $range = 'A1:H';
    $rows = $sheets->spreadsheets_values->get($spreadsheet_id, $range, ['majorDimension' => 'ROWS']);
}