2015-08-25 15 views
5

ich, dass alle Dateien in Google Picker anzeigen möchten Ich folge diesem Link:Die API-Entwicklerschlüssel ist ungültig, wenn in Google Picker sehen Datei

https://developers.google.com/picker/docs/

aber es gibt die API Entwicklerschlüssel ist ungültig.

Mein Code ist wie folgt aber, dass Schlüssel richtig in anderen Projekten arbeitet:

<!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"> 

    // The Browser API key obtained from the Google Developers Console. 
    // Replace with your own Browser API key, or your own key. 
    var developerKey = 'AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXM'; 

    // The Client ID obtained from the Google Developers Console. Replace with your own Client ID. 
    var clientId = "XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com" 

    // Replace with your own App ID. (Its the first number in your Client ID) 
    var appId = "XXXXXXXXXXXX"; 

    // Scope to use to access user's Drive items. 
    var scope = ['https://www.googleapis.com/auth/drive']; 

    var pickerApiLoaded = false; 
    var oauthToken; 

    // Use the Google API Loader script to load the google.picker script. 
    function loadPicker() { 
     gapi.load('auth', {'callback': onAuthApiLoad}); 
     gapi.load('picker', {'callback': onPickerApiLoad}); 
    } 

    function onAuthApiLoad() { 
     window.gapi.auth.authorize(
      { 
      'client_id': clientId, 
      'scope': scope, 
      'immediate': false 
      }, 
      handleAuthResult); 
    } 

    function onPickerApiLoad() { 
     pickerApiLoaded = true; 
     createPicker(); 
    } 

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

    // Create and render a Picker object for searching images. 
    function createPicker() { 
     if (pickerApiLoaded && oauthToken) { 
     var view = new google.picker.View(google.picker.ViewId.DOCS); 
     view.setMimeTypes("image/png,image/jpeg,image/jpg"); 
     var picker = new google.picker.PickerBuilder() 
      .enableFeature(google.picker.Feature.NAV_HIDDEN) 
      .enableFeature(google.picker.Feature.MULTISELECT_ENABLED) 
      .setAppId(appId) 
      .setOAuthToken(oauthToken) 
      .addView(view) 
      .addView(new google.picker.DocsUploadView()) 
      .setDeveloperKey(developerKey) 
      .setCallback(pickerCallback) 
      .build(); 
     picker.setVisible(true); 
     } 
    } 

    // A simple callback implementation. 
    function pickerCallback(data) { 
     if (data.action == google.picker.Action.PICKED) { 
     var fileId = data.docs[0].id; 
     alert('The user selected: ' + fileId); 
     } 
    } 
    </script> 
    </head> 
    <body> 
    <div id="result"></div> 

    <!-- The Google API Loader script. --> 
    <script type="text/javascript" src="https://apis.google.com/js/api.js?onload=loadPicker"></script> 
    </body> 
</html> 
+1

Welche Arten von Anmeldeinformationen haben Sie hinzufügen google Entwickler Konsole? – DaImTo

+0

Ich habe das gleiche Problem. Die Anmeldeinformationen, die ich habe, sind ein API-Schlüssel, bei dem Type = "Browser" ist. Das übergebe ich an setDeveloperKey. Ich habe auch eine OAuth 2.0-Client-ID, wo Type = "Web-Anwendung". Ich übergebe die clientId.split ('-') [0] an setAppId. setOAuthToken wird ein gültiges Auth-Token übergeben, die ich in der Lage bin zu verwenden, um Dateien aus dem Drive API abgerufen werden. picker.setVisible (true) ergibt ein Popup, das nur sagt: „Der API-Entwicklerschlüssel ist ungültig.“ Wenn ich den Aufruf von setDeveloperKey entferne, funktioniert die Auswahl. – Kwateco

Antwort

3

Es scheint, dass Sie nicht Konsole „Google Picker API“ in Google haben aktiviert