Member 13122739 Ответов: 1

Используйте javascript для получения метаданных файлов с Google Диска


У меня есть код на C#, который вставляет файл в Google Диск, и они отображают идентификатор файла и общую ссылку среди другой информации.
Мне нужно получить метаданные файла с помощью идентификатора файла, у меня есть код, который является Javascript, но я не знаю, как его использовать
код JavaScript
<pre lang="HTML"><pre><script type="text/javascript">

        function printFile(fileId) {
            var theID = '0B2XoJnBPsMpeaTdrX2pibl9GOE0';
            var request = gapi.client.request({
                'path': '/drive/v2/files/' + theID,
                'method': 'GET',
            });
            request.execute(function (resp) {
                console.log('Title: ' + resp.title);
                console.log('Description: ' + resp.description);
                console.log('MIME type: ' + resp.mimeType);
                console.log('WebContent: ' + resp.webContentLink);
            });
        }

    </script>


Что я уже пробовал:

using Google.Apis.Drive.v3.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Net;
using System.IO;
using ASPSnippets.GoogleAPI;
using System.Web.Script.Serialization;
using Google.Apis.Drive.v3;
using Google.Apis.Services;

using System.Net;


public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        GoogleConnect.ClientId = "----------------";
        GoogleConnect.ClientSecret = "------------";
        GoogleConnect.RedirectUri = Request.Url.AbsoluteUri.Split('?')[0];
        GoogleConnect.API = EnumAPI.Drive;

        if (!string.IsNullOrEmpty(Request.QueryString["code"]))
        {
            string code = Request.QueryString["code"];
            string json = GoogleConnect.PostFile(code, (HttpPostedFile)Session["File"], Session["Description"].ToString());
            GoogleDriveFile file = (new JavaScriptSerializer()).Deserialize<GoogleDriveFile>(json);
            tblFileDetails.Visible = true;
            lblTitle.Text = file.Title;
            lblId.Text = file.Id;
            Label1.Text = file.WebContentLink;
           
            imgIcon.ImageUrl = file.IconLink;
            lblCreatedDate.Text = file.CreatedDate.ToString();
            lnkDownload.NavigateUrl = file.WebContentLink;
            if (!string.IsNullOrEmpty(file.ThumbnailLink))
            {
                rowThumbnail.Visible = true;
                imgThumbnail.ImageUrl = file.ThumbnailLink;
            }
        }
        if (Request.QueryString["error"] == "access_denied")
        {
            ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('Access denied.')", true);
        }
    }

    protected void UploadFile(object sender, EventArgs e)
    {
        Session["File"] = FileUpload1.PostedFile;
        Session["Description"] = txtDescription.Text;
        GoogleConnect.Authorize("https://www.googleapis.com/auth/drive.file");
    }

    public class GoogleDriveFile
    {
        public string Id { get; set; }
        public string Title { get; set; }
        public string OriginalFilename { get; set; }
        public string ThumbnailLink { get; set; }
        public string IconLink { get; set; }
        public string WebContentLink { get; set; }
        public DateTime CreatedDate { get; set; }
        public DateTime ModifiedDate { get; set; }
    }
    
    }

}

Member 13122739

Хорошо, я его запущу, мой код действительно содержит Google API,
с помощью Google.Апис.Езды.В3.Сведения;
похоже, Javascript не загружается, и поэтому метаданные не отображаются

1 Ответов

Рейтинг:
0

Wessel Beulink

Для этого используйте api google drive.
Google Drive Api[^]

Есть хороший учебник по реализации на сайте и пример проекта.
Просто реализуйте его таким образом, и вам будет хорошо идти.


Member 13122739

Привет, спасибо за ваш ответ, я действительно использовал его, но он не сработал, я новичок в javascript, мой основной язык программирования asp.net с#

Wessel Beulink

Можете ли вы обновить свое решение с помощью api google drive и сказать мне, что не работает должным образом?

Member 13122739

Я запустил код, и у него есть API google drive, он хранит мои файлы в GDrive, я думаю, что проблема в том, что javascript не запускает функцию и не отображает метаданные
string fileId = " 0B2XoJnBPsMpeaTdrX2pibl9GOE0";
ClientScript.RegisterStartupScript (это.GetType (), "fileId", " updateProgress('" + fileId + "');", true);
//string resutOfExecuteJavaScript = hdnVal. Value;
Этикетка 3.Text = hdnResultValue.Ценность;

это код, который я использовал для него