Google SpreadSheet API和Powershell-转换为CSV

时间:2018-07-07 20:42:49

标签: powershell google-sheets google-api

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

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来访问前面提供的链接以及访问令牌。

1 个答案:

答案 0 :(得分: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

如果我误解了你的问题,对不起。