我试图在PowerShell中复制以下curl命令:
linguist@qa:~ % curl -X POST -F text="Example lesson text" -F share_status=private \
-F title="Example Lesson Ttiel" -F collection=50510 \
-F image=@/home/lingq/Pictures/penguin.jpg \
-F tags=British -F tags=European
'https://www.lingq.com/api/languages/en/lessons/' -H 'Authorization: Token bd894eabcd4c0'
这是他们网页上的API使用示例,我假设它有效。我不知道它是否确实存在,我没有卷曲,如果可能的话我也不想卷曲。 我一直在尝试使用InvokeRestMethod函数在PowerShell中重新创建命令。到目前为止,我得到的是:
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization","Token db3403c339fb4515c2940cccdcdcdbdcdbdcdbddc4cf453534453")
$response = Invoke-RestMethod -Method Post 'https://www.lingq.com/api/languages/ja/lessons/' -Headers $headers
我甚至不确定我是否正确添加了令牌,我不知道如何在curl中添加-F后面的参数。我不需要图像和标签,但其余的都很重要。有什么想法吗?
编辑:我已通过调用
验证了身份验证令牌标头的工作原理Invoke-RestMethod -Method Get 'https://www.lingq.com/api/profile/' -Headers $headers
用我的令牌获取我的个人资料。 我也发现了不祥的-F在卷曲中意味着什么,它的形式数据。所以现在我试图弄清楚如何在一个Invoke-RestMethod调用中发送4个表单数据值。