Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何直接从Google drive下载大文件而不使用Google drive can';t扫描此文件以查找病毒消息_Ios_Swift_Avplayer_Nsurl - Fatal编程技术网

Ios 如何直接从Google drive下载大文件而不使用Google drive can';t扫描此文件以查找病毒消息

Ios 如何直接从Google drive下载大文件而不使用Google drive can';t扫描此文件以查找病毒消息,ios,swift,avplayer,nsurl,Ios,Swift,Avplayer,Nsurl,我正试图在我的谷歌硬盘上播放一个音乐文件,但它大约有300mb,所以谷歌不允许我使用这个链接直接下载 https://drive.google.com/uc?export=download&id=12cpUAP0wy8jyMD4-rjKJ23bicCJ29Cs- 有一个“谷歌硬盘无法扫描此文件消息”和下载按钮。然后,我使用Chrome查看了download anyway按钮,并看到以下链接: https://drive.google.com/uc?export=download&

我正试图在我的谷歌硬盘上播放一个音乐文件,但它大约有300mb,所以谷歌不允许我使用这个链接直接下载

https://drive.google.com/uc?export=download&id=12cpUAP0wy8jyMD4-rjKJ23bicCJ29Cs-
有一个“谷歌硬盘无法扫描此文件消息”和下载按钮。然后,我使用Chrome查看了download anyway按钮,并看到以下链接:

https://drive.google.com/uc?export=download&confirm=9iBg&id=12cpUAP0wy8jyMD4-rjKJ23bicCJ29Cs-
所以我试着用below func来播放音频,效果很好

audioPlayer = AVPlayer(url: url)

但是,url from download anyway按钮不断从confirm=9iBg更改为confirm=????这使得它不可能再次播放音频,除非我必须去我的代码和手动更改该id。有解决办法吗?谢谢

不幸的是,如果没有确认窗口,则无法完成此操作,很可能令牌
&confirm=9iBg&id=12cpUAP0wy8jyMD4-rjKJ23bicCJ29Cs-
具有过期日期,并且仅通过确认窗口续订

今天解决同一个问题时,我想出了一个解决办法。我正在使用shell从googledrive自动下载一个文件。关键是设置cookie并从第一次下载尝试结果html页面内容中动态检索确认代码:

printf "${WHITE}Downloading ${fileNames[$i]}${NC}\n"
curl -L -c mycookie -o temp "https://drive.google.com/uc?export=download&id=${fileLinks[$i]}"
filesize=$(wc -c temp | awk '{print $1}')
if [ $filesize -gt 10000 ]; then
  printf "Finish downloading\n"
  mv temp "${fileNames[$i]}.tar.gz"
else
  content=$(cat temp)
  for (( j=0; j<$filesize-10; j++)); do
    if [ "${content:$j:8}" == "confirm=" ]; then
      for (( k=0; k<10; k++)); do
        if [ "${content:$j+8+$k:1}" == "&" ]; then
          token=${content:$j+8:$k}
        fi
      done
    fi
  done
  printf "Confirm downloading with token ${token}\n"
  curl -L -b mycookie -o "${fileNames[$i]}.tar.gz" "https://drive.google.com/uc?export=download&confirm=${token}&id=${fileLinks[$i]}"
  rm mycookie
  rm temp
fi
printf“${WHITE}下载${fileNames[$i]}${NC}\n”
旋度-L-c麦考基-o温度”https://drive.google.com/uc?export=download&id=${fileLinks[$i]}”
filesize=$(wc-c temp | awk'{print$1}')
如果[$filesize-gt 10000];然后
printf“完成下载\n”
mv temp“${fileNames[$i]}.tar.gz”
其他的
内容=$(cat温度)

对于((j=0;j)您是否尝试过使用他们的RESTAPI接口?