如何从(GoogleDrive使用PHP)代码中删除身份验证弹出窗口。

时间:2015-08-28 07:54:00

标签: php authentication google-drive-api

      <head>    
    <script type="text/javascript">    
      // Your Client ID can be retrieved from your project in the Google    
      // Developer Console, https://console.developers.google.com    
      var CLIENT_ID = '581911360711-3tu7tqe9jo3irbp6oqkkhqivjb5qgcdq.apps.googleusercontent.com';    

  var SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly'];

  /**
   * Check if current user has authorized this application.
   */
  function checkAuth() {
    gapi.auth.authorize(
      {
        'client_id': CLIENT_ID,
        'scope': SCOPES,
        'immediate': true
      }, handleAuthResult);
  }

  /**
   * Handle response from authorization server.
   *
   * @param {Object} authResult Authorization result.
   */
  function handleAuthResult(authResult) {
    var authorizeDiv = document.getElementById('authorize-div');
    if (authResult && !authResult.error) {
      // Hide auth UI, then load client library.
      authorizeDiv.style.display = 'none';
      loadDriveApi();
    } else {
      // Show auth UI, allowing the user to initiate authorization by
      // clicking authorize button.
      authorizeDiv.style.display = 'inline';
    }
  }

  /**
   * Initiate auth flow in response to user clicking authorize button.
   *
   * @param {Event} event Button click event.
   */
  function handleAuthClick(event) {
    gapi.auth.authorize(
      {client_id: CLIENT_ID, scope: SCOPES, immediate: false},
      handleAuthResult);
    return false;
  }

  /**
   * Load Drive API client library.
   */
  function loadDriveApi() {
    gapi.client.load('drive', 'v2', listFiles);
  }

  /**
   * Print files.
   */
  function listFiles() {
    var request = gapi.client.drive.files.list({
        'maxResults': 15
      });

      request.execute(function(resp) {
        appendPre('Files:');
        var files = resp.items;
        if (files && files.length > 0) {
          for (var i = 0; i < files.length; i++) {
            var file = files[i];
            appendPre(file.title + ' (' + file.id + ')');
          }
        } else {
          appendPre('No files found.');
        }
      });
  }

  /**
   * Append a pre element to the body containing the given message
   * as its text node.
   *
   * @param {string} message Text to be placed in pre element.
   */
  function appendPre(message) {
    var pre = document.getElementById('output');
    var textContent = document.createTextNode(message + '\n');
    pre.appendChild(textContent);
  }

</script>
<script src="https://apis.google.com/js/client.js?onload=checkAuth">
</script>



</head>
  <body>
    <div id="authorize-div" style="display: none">
      <span>Authorize access to Drive API</span>
      <!--Button for the user to click to initiate auth sequence -->
      <button id="authorize-button" onclick="handleAuthClick(event)">
        Authorize
      </button>
    </div>
    <pre id="output"></pre>
  </body>

上面的代码即将通过PHP连接到谷歌驱动器。此代码实际上工作正常,这是在身份验证后建立与我的Google驱动器的连接。弹出窗口似乎验证用户,然后用户单击允许,然后验证身份验证。并允许用户从谷歌驱动器访问(读取)文件。我想删除此身份验证。并在代码中手动输入我的EmailAddress和密码。我不知道如何改变改变的地方。以及在哪里放置我的密码和emailaddress以避免身份验证。 我想删除身份验证只是我个人的目的。不一般。

1 个答案:

答案 0 :(得分:1)

正如您在Google Identity Platform

发布的链接中所看到的
  

重要提示:截至4月20日,ClientLogin已正式弃用,   2012年,根据我们的弃用政策不再提供。我们   建议您尽快迁移到OAuth 2.0。

ClientLogin是一种弃用的身份验证协议,正在 2015年4月20日中被拒绝。届时,将不再回答ClientLogin请求。如果您有使用ClientLogin的现有应用程序,我们建议您迁移到OAuth。此库中的ClientLogin支持将在下一个主要版本中删除。

无法使用“登录名”和“密码”以编程方式对Google API进行身份验证。您需要使用正在执行的OAuth2或使用服务帐户访问Google云端硬盘上的文件。

听起来您只想访问自己的数据我建议您查看服务帐户。 service-account.php