gpt4 book ai didi

powershell - 如何使用PowerShell使用Bitly V4 API缩短URL?

转载 作者:行者123 更新时间:2023-12-03 01:28:23 25 4
gpt4 key购买 nike

我目前使用下面的PowerShell脚本通过Bitly V3 API缩短任何URL。我希望有人可以使用Bitly V4 API来帮助做同样的事情。

function New-ShortURL {
param (
[Parameter(Position=0, Mandatory=$true, ValueFromPipeline=$True, ValueFromPipelineByPropertyName=$True)]
$URL
)
#https://app.bitly.com API
$OAuthToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
$MyURL=Invoke-WebRequest -Uri https://api-ssl.bitly.com/v3/shorten -Body @{access_token=$OAuthToken;longURL=$URL} -Method Get
$MyURLjson = $MyURL.Content | convertfrom-json
$MyURLjson.data.url
}

最佳答案

仔细阅读documentation on changes to v4会指出,

API的早期版本使用查询参数来提交 token 。在v4.0中不再适用。 token 应使用OAuth承载 token 规范,并在请求中使用Authorization header 制作。

意思是,你不能这样做,

$body = @{access_token=$OAuthToken;longURL=$URL}

相反,您必须将访问 token 放在请求的 header 中。
$header = @{Authorization = "Bearer $OAuthToken"

the method ...似乎是POST而不是GET。

您的请求应如下所示:
$body = @{long_url= "https://stackoverflow.com/questions/60418169/how-to-shorten-url-with-bitly-v4-api-using-powershell?noredirect=1#comment106889121_60418169"} | convertto-json

$OAuthToken = "=========="
$header = @{Authorization="Bearer $OAuthToken"; Accept="application/json"; "Content-Type"="application/json"}

$MyURL=Invoke-WebRequest -Uri https://api-ssl.bitly.com/v4/shorten -Body $body -header $header -Method Post
$MyURLjson = $MyURL.Content | ConvertFrom-Json
$MyURLjson.link

关于powershell - 如何使用PowerShell使用Bitly V4 API缩短URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60418169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com