How do I use a server apiKey with Chrome Store API?

时间:2016-07-11 22:55:49

标签: powershell google-api

I generated an server key for Chrome Store API in the Developer Dashboard. I would like to publish a .zip file containing my extension programmatically. The instructions in https://developer.chrome.com/webstore/using_webstore_api show OAuth, Bearer token authentication. How can I use the server key instead?

Things I tried: header "X-ApiKey" = "$apiKey", adding ?key=$apiKey, etc.

In all cases

{"error":{"errors":[{"domain":"global","reason":"required","message":"Login Required","locationType":"header","location":"Authorization"}],"code":401,"message":"Login Required"}}

For this example I have been using Powershell Invoke-RestMethod

$headers = @{
    "X-ApiKey" = $apiKey
    "X-Goog-Api-Version" = "2"
}
$endpoint = "https://www.googleapis.com/upload/chromewebstore/v1.1/items/$appId/?key=$apiKey"
Write-Host $endpoint

$response = Invoke-RestMethod $endpoint -Method Put -InFile $filePath -Headers $headers

More docs, and no clues - https://developer.chrome.com/webstore/api_index

1 个答案:

答案 0 :(得分:0)

你不能。 API密钥仅用于访问公共数据。要使用Chrome Store API,您必须以您希望发布应用的用户身份进行身份验证,因此您必须提供OAuth令牌。查看the OAuth 2.0 Playground以获取有关如何获取OAuth令牌的示例。