【问题标题】:Google SpreadSheet API and Powershell - Convert to CSVGoogle SpreadSheet API 和 Powershell - 转换为 CSV
【发布时间】:2018-07-07 20:42:49
【问题描述】:

我有以下需要身份验证的电子表格:

https://docs.google.com/spreadsheets/d/1wDD_Xm8IQYuYNefv9cOJ_7afTLImHgYA05pfN3qY63E

在浏览器中使用以下 URL 会自动将其转换为 CSV 并下载: https://docs.google.com/spreadsheets/d/1wDD_Xm8IQYuYNefv9cOJ_7afTLImHgYA05pfN3qY63E/export?format=csv

我正在尝试使用 Powershell 来做同样的事情。 我已设法使用以下函数从 googleapi 获取访问令牌:

function Get-AccessToken{

    $RefreshTokenParams = @{
        client_id=$clientId;
        client_secret=$secret;
        refresh_token=$refreshToken;
        grant_type=’refresh_token’;
    }

    $RefreshedToken = Invoke-WebRequest -Uri “https://accounts.google.com/o/oauth2/token” -Method POST -Body $refreshTokenParams -ErrorAction Stop | ConvertFrom-Json

    return ($refreshedToken.access_token)

}

$ClientID = "zzzzzzzzzzzzzzzzzzzzzzlobe.apps.googleusercontent.com";
$Secret = "sssssssssssssssssssssss";
$RedirectURI = "urn:ietf:wg:oauth:2.0:oob";
$AuthorizationCode = 'xxxxxxxxxxxxxxxxxxxxx';

$AccessToken = Get-AccessToken

现在我的问题是如何使用 Invoke-Command 访问之前提供的链接以及我的访问令牌。

【问题讨论】:

    标签: powershell google-sheets google-api


    【解决方案1】:

    使用 powershell,您希望使用访问令牌将电子表格下载为 CSV 文件。而且您已经能够使用访问令牌。如果我的理解是正确的,这个脚本怎么样?

    脚本:

    Invoke-WebRequest -Uri "https://docs.google.com/spreadsheets/d/1wDD_Xm8IQYuYNefv9cOJ_7afTLImHgYA05pfN3qY63E/export?format=csv&access_token=### access token ###" -OutFile "### filename.csv ###"
    

    注意:

    • 下载文件时,如果出现错误,请确认以下几点。
      • 是否在 API 控制台启用了 Drive API。
      • https://www.googleapis.com/auth/drive 是否包含在范围内。

    如果我误解了你的问题,我很抱歉。

    【讨论】:

      猜你喜欢
      • 2017-09-14
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 2017-09-09
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      相关资源
      最近更新 更多