· 6 years ago · Jan 14, 2019, 07:04 AM
1function doGet() {
2 return HtmlService.createHtmlOutputFromFile('index');
3}
4
5.setOrigin(google.script.host.origin)
6
7<!DOCTYPE html>
8<html xmlns="http://www.w3.org/1999/xhtml">
9 <head>
10 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
11 <title>Google Picker Example</title>
12
13 <script type="text/javascript">
14
15 // The Browser API key obtained from the Google API Console.
16 // Replace with your own Browser API key, or your own key.
17 var developerKey = 'AIzaSyDZzfmUYVhy112mmvMdGjyxu87NzKPRw2g';
18
19 // The Client ID obtained from the Google API Console. Replace with your own Client ID.
20 var clientId = "920142203274-3v3laj3p4hlvufugi6lq1r6oehal8umj.apps.googleusercontent.com"
21
22 // Replace with your own project number from console.developers.google.com.
23 // See "Project number" under "IAM & Admin" > "Settings"
24 var appId = "920142203274";
25
26 // Scope to use to access user's Drive items.
27 var scope = ['https://www.googleapis.com/auth/drive'];
28
29 var pickerApiLoaded = false;
30 var oauthToken;
31
32 // Use the Google API Loader script to load the google.picker script.
33 function loadPicker() {
34 gapi.load('auth', {'callback': onAuthApiLoad});
35 gapi.load('picker', {'callback': onPickerApiLoad});
36 }
37
38 function onAuthApiLoad() {
39 window.gapi.auth.authorize(
40 {
41 'client_id': clientId,
42 'scope': scope,
43 'immediate': false
44 },
45 handleAuthResult);
46 }
47
48 function onPickerApiLoad() {
49 pickerApiLoaded = true;
50 createPicker();
51 }
52
53 function handleAuthResult(authResult) {
54 if (authResult && !authResult.error) {
55 oauthToken = authResult.access_token;
56 createPicker();
57 }
58 }
59
60 // Create and render a Picker object for searching images.
61 function createPicker() {
62 if (pickerApiLoaded && oauthToken) {
63 var view = new google.picker.View(google.picker.ViewId.DOCS);
64 view.setMimeTypes("image/png,image/jpeg,image/jpg");
65 var picker = new google.picker.PickerBuilder()
66 .enableFeature(google.picker.Feature.NAV_HIDDEN)
67 .enableFeature(google.picker.Feature.MULTISELECT_ENABLED)
68 .setAppId(appId)
69 .setOAuthToken(oauthToken)
70 .addView(view)
71 .addView(new google.picker.DocsUploadView())
72 .setDeveloperKey(developerKey)
73 .setCallback(pickerCallback)
74 .setOrigin(google.script.host.origin)
75 .build();
76 picker.setVisible(true);
77 }
78 }
79
80 // A simple callback implementation.
81 function pickerCallback(data) {
82 if (data.action == google.picker.Action.PICKED) {
83 var fileId = data.docs[0].id;
84 alert('The user selected: ' + fileId);
85 }
86 }
87 </script>
88 </head>
89 <body>
90 <div id="result"></div>
91
92 <!-- The Google API Loader script. -->
93 <script type="text/javascript" src="https://apis.google.com/js/api.js?onload=loadPicker"></script>
94 </body>
95</html>