我已经实现了下面的Bash脚本,我试图用它将视频上传到我的Dailymotion帐户。所有curl请求都返回官方API文档页面中列出的JSON响应。然而,我的视频没有出现在我的帐户中。我在这里做错什么了?
#!/bin/bash
curl -s --output out.txt --data 'grant_type=password&client_id=<My-ID>&client_secret=<My-Secret>&username=<My-Username>&password=<My-password>&scope=read+write' https://api.dailymotion.com/oauth/token
var1=$(grep "access_token" out.txt | cut -d: --complement -f1)
acc_token=$(echo $var1 | cut -d, -f1 | cut -d\" --complement -f1 | cut -d\" -f1)
curl -s --output out.txt -i https://api.dailymotion.com/file/upload?access_token="$acc_token"
upload_url=$(grep "upload_url" out.txt | cut -d: --complement -f1 | cut -d\" --complement -f1 | cut -d\" -f1 | sed 's/\\//g')
curl -s --output out.txt -F 'file=@/home/zahaib/video.mp4' "$upload_url"
video_url=$(grep "url" out.txt | cut -d: --complement -f1-10 | cut -d\" --complement -f1 | cut -d# -f1 )
curl -s --output out.txt -d $video_url https://api.dailymotion.com/me/videos?access_token="$acc_token"
video_id=$(grep "id" out.txt | cut -d: --complement -f1 | cut -d\" --complement -f1 | cut -d\" -f1 )
curl -s --output out.txt -d 'title=Vid&channel=sport&tags=was' https://api.dailymotion.com/video/"$video_id"/access_token="$acc_token"
curl -s --output out.txt -d 'published=true' https://api.dailymotion.com/video/"$video_id"/access_token="$acc_token"发布于 2014-09-01 08:47:27
在最后两行的脚本中有一个错误:
https://api.dailymotion.com/video/"$video_id"/access_token="$acc_token"而不是:
https://api.dailymotion.com/video/"$video_id"/?access_token="$acc_token"就在那里,在你的out.txt里:
{
"error":{
"code":501,
"message":"Invalid method name: POST \/video\/<xid>\/access_token=<redated>.",
"type":"invalid_method"
}
}https://stackoverflow.com/questions/25588289
复制相似问题