google sheet API php
google sheet API php
1 首先第一点 弄清楚
A 你是通过API 接口操作自己账号的google sheet
B 别人给你权限 你去操作别人的google sheet
两个方法获取的授权不同
A 你是通过API 接口操作自己账号的google sheet
官方链接 https://developers.google.com/sheets/api/quickstart/php
1 自己填写 然后会下载下一个 credentials.json 这个文件 放在的工作目录
2 可以直接去下载代码
链接 https://github.com/googleapis/google-api-php-client/releases
我下载的是2.4.1
3 复制此段代码 放到你的工作目录
注意这里
目前是只读权限 如果是你自己的 你可以更改为
$client->setScopes(Google_Service_Sheets::SPREADSHEETS);
这个是所有的权限
4 去命令行执行
运行 第三步的文件
这里是故障排查
必须是 ssl
运行完成后 会在工作目录生成一个 token.json 文件
目前位置 自己google sheet的授权操作 已完成
但是文件不能直接去浏览器运行 暂时无解
这里有操作的示例 自己看下 不做说明
B 别人给你权限 你去操作别人的google sheet
1 去上面的第二步 下载源文件
2 在创建项目 https://console.developers.google.com/apis/dashboard。
3 点击启用API并启用Google sheet API
点击 enable 启用
4 转到“ 凭据”,然后单击“ 创建凭据”,然后选择“ 服务帐户**”
在下拉菜单中选择“ 新服务帐户 ”。给帐户起个名字,没关系。
对于角色 I,选择项目 -> 服务帐户执行者
对于“ **类型”,选择“ JSON”(默认设置)并下载文件。该文件包含一个私钥,因此请务必小心,毕竟这是您的凭据
浏览器自动下载 json文件
**完成 我下面的代码已将此文件重命名为 credentials-email.json 注意
授权 Google sheet
最后,编辑您要访问的Google sheet的共享权限,
您的email 就职最后的那个截图 email
然后共享email地址的View(如果您只想读取文件)或Commenter或Edit(如果您需要读/写)访问权限。
单个 google sheet的授权已经结束
测试访问一下
require __DIR__ . '/google-api/vendor/autoload.php';
if (php_sapi_name() != 'cli') {
throw new Exception('This application must be run on the command line.');
}
function getClient()
{
$client = new Google_Client();
$client->setApplicationName('Google Sheets API PHP Quickstart');
$client->setScopes(Google_Service_Sheets::SPREADSHEETS);
$client->setAuthConfig('credentials-email.json');
$client->setAccessType('offline');
$client->setPrompt('select_account consent');
return $client;
}
$client = getClient();
$service = new Google_Service_Sheets($client);
//https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
// 此处可以自己换成对应的google sheet id
//$spreadsheetId = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms';
$spreadsheetId = '*********';
$range = 'A2:E';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
if (empty($values)) {
print "No data found.\n";
} else {
print "Name, Major:\n";
foreach ($values as $row) {
// Print columns A and E, which correspond to indices 0 and 4.
printf("%s, %s\n", $row[0], $row[4]);
}
}
ok 正常输出
A 你是通过API 接口操作自己账号的google sheet
B 别人给你权限 你去操作别人的google sheet 操作有限
代码层面上两者不同点 在于
这个方法 别的代码都是可通用的
推荐阅读
-
php怎么获取百度音乐API地址!《急》
-
PHP访问Google Search API的方法,googleapi
-
php调用Google translate_tts api实现代码_PHP
-
PHP操作AD,adLDAP类API详解与实例_PHP教程
-
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法,api卖家_PHP教程
-
php taobao api开发入门篇
-
【在线等】求雅虎日本api解析(php),我再做一个代购网(雅虎日本,乐天),求高手帮忙解析下他们两个的api。
-
微信红包接口API - 拓展微信公众平台通用接口API(PHP版)
-
为IP查询添加GOOGLE地图功能的代码_php技巧
-
php获取Google机器人访问足迹的方法,google机器人_PHP教程