2017-11-05 10 views
0

コロナSDKを使用してluaにアプリを作成しましたが、Googleドライブのフォルダから画像をダウンロードしようとしています。GoogleドライブAPI:無効な画像がダウンロードされています

私はOAthプレイグラウンドを使用して必要なスコープを自動化しました。リフレッシュトークンを取得し、必要に応じて新しいアクセストークンを取得する方法があります。これは私が画像をダウンロードする方法である:decodedResponseは、指定したフォルダ内のすべてのファイルを一覧表示して得られたJSONを指し

network.download(
        "https://drive.google.com/uc?export=download&id="..decodedResponse.files[index].id, 
        "GET", 
        networkListener, 
        params, 
        decodedResponse.files[index].name, 
        system.DocumentsDirectory 
       ) 

。これは数日前にうまくいきましたが、試してみると、ダウンロードされた画像は無効で壊れています。私はドライブに新しいフォルダを使用しようとしました。

私は、このような

https://www.googleapis.com/drive/v3/files/FILE_ID_HERE?alt=media

と私はオンライン見てきたが、これらは私に

code 403 "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."

エラーを与えるいくつかの他のような他のリンクを試してみました。スコープを指定するとコード403のエラーが修正されるかもしれないが、どこを正確に指定するかはわかりません。

私は助けていただきありがとうございます!

編集:私は、テキストエディタで画像の一つを見ていた、結果はGoogleの認証ページのコードであることを見て、いくつかのhtmlをし、それのいくつかは以下の通りです:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta content="width=300, initial-scale=1" name="viewport"> 
    <meta name="description" content="Google Drive is a free way to keep your files backed up and easy to reach from any phone, tablet, or computer. Start with 15GB of Google storage – free."> 
    <meta name="google-site-verification" content="LrdTUW9psUAMbh4Ia074-BPEVmcpBxF6Gwf0MSgQXZs"> 
    <title>Meet Google Drive – One place for all your files</title> 
    <style> 
    @font-face { 
    font-family: 'Open Sans'; 
    font-style: normal; 
    font-weight: 300; 
    src: local('Open Sans Light'), local('OpenSans-Light'), url(//fonts.gstatic.com/s/opensans/v15/DXI1ORHCpsQm3Vp6mXoaTYnF5uFdDttMLvmWuJdhhgs.ttf) format('truetype'); 
} 
@font-face { 
    font-family: 'Open Sans'; 
    font-style: normal; 
    font-weight: 400; 
    src: local('Open Sans'), local('OpenSans'), url(//fonts.gstatic.com/s/opensans/v15/cJZKeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf) format('truetype'); 
} 
    </style> 
    <style> 
    h1, h2 { 
    -webkit-animation-duration: 0.1s; 
    -webkit-animation-name: fontfix; 
    -webkit-animation-iteration-count: 1; 
    -webkit-animation-timing-function: linear; 
    -webkit-animation-delay: 0; 
    } 
    @-webkit-keyframes fontfix { 
    from { 
    opacity: 1; 
    } 
    to { 
    opacity: 1; 
    } 
    } 
    </style> 
<style> 
    html, body { 
    font-family: Arial, sans-serif; 
    background: #fff; 
    margin: 0; 
    padding: 0; 
    border: 0; 
    position: absolute; 
    height: 100%; 
    min-width: 100%; 
    font-size: 13px; 
    color: #404040; 
    direction: ltr; 
    -webkit-text-size-adjust: none; 
    } 
    button, 
    input[type=button], 
    input[type=submit] { 
    font-family: Arial, sans-serif; 
    font-size: 13px; 
    } 
    a, 
    a:hover, 
    a:visited { 
    color: #427fed; 
    cursor: pointer; 
    text-decoration: none; 
    } 
    a:hover { 
    text-decoration: underline; 
    } 
    h1 { 
    font-size: 20px; 
    color: #262626; 
    margin: 0 0 15px; 
    font-weight: normal; 
    } 
    h2 { 
    font-size: 14px; 
    color: #262626; 
    margin: 0 0 15px; 
    font-weight: bold; 
    } 
    input[type=email], 
    input[type=number], 
    input[type=password], 
    input[type=tel], 
    input[type=text], 
    input[type=url] { 
    -moz-appearance: none; 
    -webkit-appearance: none; 
    appearance: none; 
    display: inline-block; 
    height: 36px; 
    padding: 0 8px; 
    margin: 0; 
    background: #fff; 
    border: 1px solid #d9d9d9; 
    border-top: 1px solid #c0c0c0; 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
    -moz-border-radius: 1px; 
    -webkit-border-radius: 1px; 
    border-radius: 1px; 
    font-size: 15px; 
    color: #404040; 
    } 
    input[type=email]:hover, 
    input[type=number]:hover, 
    input[type=password]:hover, 
    input[type=tel]:hover, 
    input[type=text]:hover, 
    input[type=url]:hover { 
    border: 1px solid #b9b9b9; 
    border-top: 1px solid #a0a0a0; 
    -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); 
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); 
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); 
    } 
    input[type=email]:focus, 
    input[type=number]:focus, 
    input[type=password]:focus, 
    input[type=tel]:focus, 
    input[type=text]:focus, 
    input[type=url]:focus { 
    outline: none; 
    border: 1px solid #4d90fe; 
    -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3); 
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3); 
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.3); 
    } 
    input[type=checkbox], 
    input[type=radio] { 
    -webkit-appearance: none; 
    display: inline-block; 
    width: 13px; 
    height: 13px; 
    margin: 0; 
    cursor: pointer; 
    vertical-align: bottom; 
    background: #fff; 
    border: 1px solid #c6c6c6; 
    -moz-border-radius: 1px; 
    -webkit-border-radius: 1px; 
    border-radius: 1px; 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
    position: relative; 
    } 
    input[type=checkbox]:active, 
    input[type=radio]:active { 
    background: #ebebeb; 
    } 
    input[type=checkbox]:hover { 
    border-color: #c6c6c6; 
    -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); 
    -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); 
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); 
    } 
    input[type=radio] { 
    -moz-border-radius: 1em; 
    -webkit-border-radius: 1em; 
    border-radius: 1em; 
    width: 15px; 
    height: 15px; 
    } 
    input[type=checkbox]:checked, 
    input[type=radio]:checked { 
    background: #fff; 
    } 
    input[type=radio]:checked::after { 
    content: ''; 
    display: block; 
    position: relative; 
    top: 3px; 
    left: 3px; 
    width: 7px; 
    height: 7px; 
    background: #666; 
    -moz-border-radius: 1em; 
    -webkit-border-radius: 1em; 
    border-radius: 1em; 
    } 
    input[type=checkbox]:checked::after { 
    content: url(https://ssl.gstatic.com/ui/v1/menu/checkmark.png); 
    display: block; 
    position: absolute; 
    top: -6px; 
    left: -5px; 
    } 
    input[type=checkbox]:focus { 
    outline: none; 
    border-color: #4d90fe; 
    } 
    .stacked-label { 
    display: block; 
    font-weight: bold; 
    margin: .5em 0; 
    } 
    .hidden-label { 
    position: absolute !important; 
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 
    clip: rect(1px, 1px, 1px, 1px); 
    height: 0px; 
    width: 0px; 
    overflow: hidden; 
    visibility: hidden; 
    } 
    input[type=checkbox].form-error, 
    input[type=email].form-error, 
    input[type=number].form-error, 
    input[type=password].form-error, 
    input[type=text].form-error, 
    input[type=tel].form-error, 
    input[type=url].form-error { 
    border: 1px solid #dd4b39; 
    } 
    .error-msg { 
    margin: .5em 0; 
    display: block; 
    color: #dd4b39; 
    line-height: 17px; 
    } 
    .help-link { 
    background: #dd4b39; 
    padding: 0 5px; 
    color: #fff; 
    font-weight: bold; 
    display: inline-block; 
    -moz-border-radius: 1em; 
    -webkit-border-radius: 1em; 
    border-radius: 1em; 
    text-decoration: none; 
    position: relative; 
    top: 0px; 
    } 
    .help-link:visited { 
    color: #fff; 
    } 
    .help-link:hover { 
    color: #fff; 
    background: #c03523; 
    text-decoration: none; 
    } 
    .help-link:active { 
    opacity: 1; 
    background: #ae2817; 
    } 
    .wrapper { 
    position: relative; 
    min-height: 100%; 
    } 
    .content { 
    padding: 0 44px; 
    } 
    .main { 
    padding-bottom: 100px; 
    } 
    /* For modern browsers */ 
    .clearfix:before, 
    .clearfix:after { 
    content: ""; 
    display: table; 
    } 
    .clearfix:after { 
    clear: both; 
    } 
    /* For IE 6/7 (trigger hasLayout) */ 
    .clearfix { 
    zoom:1; 
    } 
    .google-header-bar { 
    height: 71px; 
    border-bottom: 1px solid #e5e5e5; 
    overflow: hidden; 
    } 
    .header .logo { 
    background-image: url(https://ssl.gstatic.com/accounts/ui/logo_1x.png); 
    background-size: 116px 38px; 
    background-repeat: no-repeat; 
    margin: 17px 0 0; 
    float: left; 
    height: 38px; 
    width: 116px; 
    } 

Iそれは身体の文字制限を超えて原因全体の事を投稿することはできません

+0

ダウンロードした「破損した」画像をテキストエディタで表示したい場合があります。実際には読み取り可能なエラーメッセージが含まれている場合があります。 –

+0

@ Michael-sqlbot本当ですか?私は一見、ありがとう! –

+0

@ Michael-sqlbot画像には読みにくいエラーメッセージは含まれていませんが、画像の代わりにHTMLがダウンロードされているようですが、何故うまくいきませんでしたか? –

答えて

関連する問題