在PowerShell中,我能够使用HTTP基本身份验证登录Mail Chimp。
$acctname = 'thisismyusername'
$password = 'thisismyapikey'
$params = @{
Uri = 'https://us14.api.mailchimp.com/3.0/';
Method = 'Get'; #(or POST, or whatever)
Headers = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$($acctname):$($password)"));} #end headers hash table
} #end $params hash table
$var = Invoke-RestMethod @params
$var
当我尝试获取列表的基本信息时,ID为" d3a7a4432d"。
$URL = "https://us14.api.mailchimp.com/3.0/"
$Endpoint = "/lists/d3a7a4432d"
$URLMailChimp = "$URL$Endpoint"
$gist = Invoke-RestMethod -Method Get -Uri $URLMailChimp
我收到此错误消息:
Invoke-RestMethod : { "type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/", "title":"API Key Missing", "status":401, "detail":"Your request did not include an API key.", "instance":"" } At line:7 char:9 + $gist = Invoke-RestMethod -Method Get -Uri $URLMailChimp + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
我不知道如何再次传递我的API密钥。我想通过记录它解决了这个问题。
答案 0 :(得分:0)
我没有使用MailChimp,但除非第一次调用为您提供访问令牌(而documentation以及您的错误消息看起来不像),否则您需要为每个请求提供身份验证标头。
$acctname = 'thisismyusername'
$password = 'thisismyapikey'
$URL = 'https://us14.api.mailchimp.com/3.0/'
$listID = 'd3a7a4432d'
$auth = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("${acctname}:${password}"))}
$gist = Invoke-RestMethod -Method Get -Uri "$URL/lists/$listID" -Headers $auth