Google drive api 让Google Drive文件选择器不显示为弹出窗口,并从Google Drive中提取信息

Google drive api 让Google Drive文件选择器不显示为弹出窗口,并从Google Drive中提取信息,google-drive-api,Google Drive Api,我希望Google drive SDK能够一直存在。目前,它仅在我刷新页面时显示为弹出窗口,如果我关闭它,它将消失。我想知道我如何能够让它始终存在,以及如何能够从用户文件中提取信息并将其列在表中 <script src="https://apis.google.com/js/platform.js"> </script> <div class="g-savetodrive" data-src="http://example.com/pug-snores.mp3"

我希望Google drive SDK能够一直存在。目前,它仅在我刷新页面时显示为弹出窗口,如果我关闭它,它将消失。我想知道我如何能够让它始终存在,以及如何能够从用户文件中提取信息并将其列在表中

<script src="https://apis.google.com/js/platform.js">
</script>
<div class="g-savetodrive"
 data-src="http://example.com/pug-snores.mp3"
 data-filename="pug-snores.mp3"
 data-sitename="Pictures of pugs">
</div>


<script src="https://apis.google.com/js/api.js?onload=onApiLoad">
</script>
<script>
 function onApiLoad() {
  gapi.load('auth',{'callback': onAuthApiLoad});
  gapi.load('picker');
 }

 function onAuthApiLoad() {
  window.gapi.auth.authorize({
  'client_id': 'client_id',
  'scope': ['https://www.googleapis.com/auth/drive']
  },handleAuthResult);
 }

 var oauthToken;
 function handleAuthResult(authResult) {
  if (authResult && !authResult.error) {
   oauthToken = authResult.access_token;
   createPicker();
   }
 }

 function createPicker() {
  var picker = new google.picker.PickerBuilder()
  .addView(new google.picker.DocsUploadView())
  .addView(new google.picker.DocsView())
  .setOAuthToken(oauthToken)
  .setDeveloperKey('')
  .build();
  picker.setVisible(true);
 }
</script>

<!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
   <title>Google Picker Example</title>
   <script type="text/javascript" src="https://apis.google.com/js/api.js?           onload=onApiLoad"></script>
    <script>
        function onApiLoad() {
            gapi.load('auth', { 'callback': onAuthApiLoad });
            gapi.load('picker');
        }
        function onAuthApiLoad() {
            window.gapi.auth.authorize({
                'client_id': 'client_id',
                'scope': ['https://www.googleapis.com/auth/drive']
            }, handleAuthResult);
        }
        var oauthToken;
        function handleAuthResult(authResult) {
            if (authResult && !authResult.error) {
                oauthToken = authResult.access_token;
                createPicker();
            }
        }
        function createPicker() {
            var picker = new google.picker.PickerBuilder()
                .addView(new google.picker.DocsUploadView())
                .addView(new google.picker.DocsView())
                .setOAuthToken(oauthToken)
                //.setDeveloperKey('')
                .setCallback(pickerCallback)
                .build();
            picker.setVisible(true);
        }

        function pickerCallback(data) {
            var url = 'nothing';
            if (data[google.picker.Response.ACTION] == google.picker.Action.PICKED) {
                var doc = data[google.picker.Response.DOCUMENTS][0];
                url = doc[google.picker.Document.URL];
            }
            var message = 'You picked: ' + url;
            document.getElementById('result').innerHTML = message;
        }
    </script>
   </head>
   <body>
   <div id="result"></div>
   <script type="text/javascript" src="https://apis.google.com/js/api.jsonload=onApiLoad"></script>
   </body>
 </html>

函数onapioad(){
load('auth',{'callback':onAuthApiLoad});
gapi.load(“选择器”);
}
函数onAuthApiLoad(){
window.gapi.auth.authorize({
“客户id”:“客户id”,
'范围':['https://www.googleapis.com/auth/drive']
},handleAuthResult);
}
var oauthToken;
函数handleAuthResult(authResult){
if(authResult&!authResult.error){
oauthToken=authResult.access\u令牌;
createPicker();
}
}
函数createPicker(){
var picker=new google.picker.PickerBuilder()
.addView(新的google.picker.DocsUploadView())
.addView(新的google.picker.DocsView())
.setOAuthToken(oauthToken)
.setDeveloperKey(“”)
.build();
picker.setVisible(true);
}
谷歌选择器示例
函数onapioad(){
load('auth',{'callback':onAuthApiLoad});
gapi.load(“选择器”);
}
函数onAuthApiLoad(){
window.gapi.auth.authorize({
“客户id”:“客户id”,
'范围':['https://www.googleapis.com/auth/drive']
},handleAuthResult);
}
var oauthToken;
函数handleAuthResult(authResult){
if(authResult&!authResult.error){
oauthToken=authResult.access\u令牌;
createPicker();
}
}
函数createPicker(){
var picker=new google.picker.PickerBuilder()
.addView(新的google.picker.DocsUploadView())
.addView(新的google.picker.DocsView())
.setOAuthToken(oauthToken)
//.setDeveloperKey(“”)
.setCallback(pickerCallback)
.build();
picker.setVisible(true);
}
函数选择器回调(数据){
var url='无';
if(数据[google.picker.Response.ACTION]==google.picker.ACTION.PICKED){
var doc=data[google.picker.Response.DOCUMENTS][0];
url=doc[google.picker.Document.url];
}
var message='您选择的:'+url;
document.getElementById('result').innerHTML=message;
}

如果你需要更多的信息,请随时询问和回答我的问题。谢谢你的帮助

除了弹出窗口之外,不可能以任何其他形式使用google picker。模拟它的唯一方法是使用驱动器api构建一个与filepicker类似的UI。可行,但需要大量工作。

它不叫“SDK”