You can do it using the ASPSnippets.GoogleAPI.
1. Download the latest DLL from here
Download File
2. Then use the following code.
HTML
<form id="form1" runat="server">
File:
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<br />
Description:
<asp:TextBox ID="txtDescription" runat="server" Width="300"></asp:TextBox>
<hr />
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="UploadPhoto" />
<hr />
<table id="tblFileDetails" runat="server" visible="false" border="0" cellpadding="0"
cellspacing="0">
<tr>
    <td>
        Title
    </td>
    <td>
        <asp:Label ID="lblTitle" runat="server" />
    </td>
</tr>
<tr>
    <td>
        Id
    </td>
    <td>
        <asp:Label ID="lblId" runat="server" />
    </td>
</tr>
<tr>
    <td>
        Icon
    </td>
    <td>
        <asp:Image ID="imgIcon" runat="server" />
    </td>
</tr>
<tr id="rowThumbnail" runat="server" visible="false">
    <td valign="top">
        Thumbnail
    </td>
    <td>
        <asp:Image ID="imgThumbnail" runat="server" Height="60" Width="60" />
    </td>
</tr>
<tr>
    <td>
        Created Date
    </td>
    <td>
        <asp:Label ID="lblCreatedDate" runat="server" />
    </td>
</tr>
<tr>
    <td>
        Download
    </td>
    <td>
        <asp:HyperLink ID="lnkDownload" Text="Download" runat="server" />
    </td>
</tr>
</table>
</form>
Namespaces
using ASPSnippets.GoogleAPI;
using System.Web.Script.Serialization;
Code
protected void Page_Load(object sender, EventArgs e)
{
    GoogleConnect.ClientId = "<Google Client ID>";
    GoogleConnect.ClientSecret = "<Google Client Secret>";
    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["Message"].ToString());
        GoogleDriveFile file = (new JavaScriptSerializer()).Deserialize<GoogleDriveFile>(json);
        tblFileDetails.Visible = true;
        lblTitle.Text = file.Title;
        lblId.Text = file.Id;
        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 UploadPhoto(object sender, EventArgs e)
{
    Session["File"] = FileUpload1.PostedFile;
    Session["Message"] = 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; }
}
Screenshots
1. File details displayed with Download link on page

2. File being shown in drive with the Description
