Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <Module>
- <ModulePrefs title="Hello World"
- description="Matches and echoes 'Hello World' string in emails"
- height="20"
- author="Sarah M and Walter Q"
- author_email="..."
- author_location="Mountain View, CA">
- <!-- Declare feature dependencies. -->
- <!-- This one is not specific to Gmail contextual gadgets. -->
- <Require feature="dynamic-height"/>
- <!-- The next feature, Caja, is optional, and is supported for
- use only within test domains. Uncomment the tag only for
- non-production gadgets. -->
- <!-- <Require feature="caja"/> -->
- <!-- The next feature, google.contentmatch, is required for all
- Gmail contextual gadgets.
- <Param> - specify one or more comma-separated extractor IDs in
- a param named "extractors". This line is overridden by the extractor ID
- in the manifest, but is still expected to be present. -->
- <Require feature="google.contentmatch">
- <Param name="extractors">
- google.com:MessageIDExtractor
- </Param>
- </Require>
- </ModulePrefs>
- <!-- Define the content type and display location. The settings
- "html" and "card" are required for all Gmail contextual gadgets. -->
- <Content type="html" view="card">
- <![CDATA[
- <!-- Start with Single Sign-On -->
- <!--script type="text/javascript" src="https://example.com/gadgets/sso.js"></script-->
- <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
- <script type="text/javascript">
- <!-- Fetch the array of content matches. -->
- matches = google.contentmatch.getContentMatches();
- var matchList = document.createElement('UL');
- var listItem;
- var extractedText;
- var messageIds;
- var messageId;
- var messageIdList = document.createElement('UL');
- var para = document.createElement("p");
- var apiKey = 'AIzaSyBDDcH3TEmfyitCTYzk5VZx7YwiZyNtXlQ';
- var scopes = ["https://www.googleapis.com/auth/gmail.modify","https://www.googleapis.com/auth/gmail.readonly","https://mail.google.com/","https://www.googleapis.com/auth/userinfo.email"];
- var clientId = '1095931665697-ipmo6t5o9ul8kj5ofa0pjvg0h33iut1q.apps.googleusercontent.com';
- <!-- Iterate through the array and display output for each match. -->
- for (var match in matches) {
- for (var key in matches[match]) {
- listItem = document.createElement('LI');
- extractedText = document.createTextNode(key + ": " + matches[match][key]);
- messageIds = document.createElement('LI');
- messageId = matches[match][key];
- var node = document.createTextNode(handleClientLoad(messageId));
- para.appendChild(node);
- listItem.appendChild(extractedText);
- matchList.appendChild(listItem);
- }
- }
- document.body.appendChild(matchList);
- gadgets.window.adjustHeight(100);
- function handleClientLoad(messageId) {
- alert("in");
- var authToken = 'ya29.bAC47ogaMYA1_CEAAADiF6y35mun3mXAVC9rOxQ4WSf6GxotiiN9TKM_II_XeAMnojgsxYYqN_nh3flpZ-w';
- $.ajax({
- url: "https://www.googleapis.com/gmail/v1/users/me/messages/" + messageId,
- method: "GET",
- headers: {
- "Authorization": "Bearer " + authToken,
- "Accept" : "application/json"
- },
- success: function(data){
- console.log(data);
- var byteCharacters = data.snippet;
- var byteNumbers = new Array(byteCharacters.length);
- for (var i = 0; i < byteCharacters.length; i++) {
- byteNumbers[i] = byteCharacters.charCodeAt(i);
- }
- var byteArray = new Uint8Array(byteNumbers);
- var blob = new Blob([byteArray]);
- console.log("blob is" + blob);
- initUpload(blob);
- $.each( data.payload.parts, function( key, value ) {
- console.log(value.body.data);
- return value.body.data ;
- });
- return blob;
- },
- error: function() {
- console.log("gmail get: error");
- },
- complete: function() {
- console.log("gmail: complete");
- }
- });
- }
- function makeFrame(blob) {
- ifrm = document.createElement("IFRAME");
- ifrm.setAttribute("src", "https://www.yousendit.com");
- ifrm.setAttribute("id","myFrame");
- ifrm.setAttribute("name","myFrame");
- ifrm.style.width = 950+"px";
- ifrm.style.height = 950+"px";
- var authToken = '414347187.fca4f9125c4d202508950fc8fa100cdd0030b9c3';
- document.body.appendChild(ifrm);
- alert("new way");
- console.log("Make Frame blob is " + blob);
- var authToken =
- 'HMV0AFK27ZU6r1qv5RxAjXsUSYdPwPVteLqJaeQmhKf5Kn6tD4zUgxROoCo16JOK_S3b_bwB3IV%2B2ESCBqwKgo%2BCOS0ukM9FmOVfCJ4shRY18ayEKeJoHXQQkKhr'+
- 'i1POuPkGddcnEFsiZn2xuCAj0VJqjDE7KgEIl2grDoOEGRI';
- function initUpload(blob) {
- event.preventDefault();
- console.log("inside initUpload blob is" + blob);
- var formData = new FormData();
- var uploadUrl;
- var fileId;
- $.ajax({
- url: "https://test2-api.yousendit.com/dpi/v1/folder/file/initUpload",
- method: "POST",
- headers: {
- "X-Auth-Token": 'HMV0AFK27ZU6r1qv5RxAjXsUSYdPwPVteLqJaeQmhKf5Kn6tD4zUgxROoCo16JOK_S3b_bwB3IV%2B2ESCBqwKgo%2BCOS0ukM9FmOVfCJ4shRY18ayEKeJoHXQQkKhr'+
- 'i1POuPkGddcnEFsiZn2xuCAj0VJqjDE7KgEIl2grDoOEGRI',
- "X-Api-Key": "27pk27nee7xart6342yebyfn",
- "Accept" : "application/json",
- },
- success: function(data){
- console.log("init upload: success",data);
- fileId = data.fileId;
- console.log("fileId is" + fileId);
- uploadUrl = data.uploadUrl[0] + "/";
- var srcUrl = uploadUrl.split('.');
- var frmUrl = srcUrl[0] + "." + srcUrl[1] + ".com";
- console.log("frm url" + frmUrl);
- formData.append("bid", fileId);
- formData.append("fname", blob);
- var ifrm1 = document.createElement("IFRAME");
- ifrm1.setAttribute("src", frmUrl);
- ifrm1.setAttribute("id","myFrame1");
- ifrm1.setAttribute("name","myFrame1");
- ifrm1.style.width = 350+"px";
- ifrm1.style.height = 350+"px";
- var myform=document.createElement("form");
- myform.setAttribute("id","frm");
- myform.setAttribute("name","frm");
- document.body.appendChild(myform);
- ifrm1.appendChild(myform);
- document.body.appendChild(ifrm1);
- },
- error: function() {
- console.log("init upload: error");
- },
- complete: function(data) {
- console.log("init upload: complete");
- }
- }).then(function() { console.log("Finally working"); });
- $( document ).ajaxSuccess(function( event, xhr, settings ) {
- console.log( "Triggered ajaxSuccess handler. The ajax response was: " +
- xhr.responseText );
- var response = JSON.parse(xhr.responseText);
- console.log("resonse is " + response);
- fileId = response.fileId;
- uploadUrl = response.uploadUrl;
- formData.append("bId", fileId);
- formData.append("fname", blob,"HightailRocks.txt");
- $( "#myFrame1" ).on( "load", { formData: formData, uploadUrl: uploadUrl, fileId: fileId }, xhrframe);
- }); }
- function xhrframe(event) {
- console.log("xhr framme"+ event.data.formData + event.data.uploadUrl);
- var xhr = new XMLHttpRequest();
- xhr.open("POST",event.data.uploadUrl,true);
- xhr.setRequestHeader("Accept","application/json");
- xhr.send(event.data.formData);
- xhr.onreadystatechange=function()
- {
- console.log(xhr.responseText);
- $.ajax({
- url: "https://test2-api.yousendit.com/dpi/v1/folder/file/commitUpload",
- method: "POST",
- headers: {
- "X-Api-Key": "27pk27nee7xart6342yebyfn",
- "Accept" : "application/json",
- "X-Auth-Token":"HMV0AFK27ZU6r1qv5RxAjXsUSYdPwPVteLqJaeQmhKf5Kn6tD4zUgxROoCo16JOK_S3b_bwB3I"+
- "V%2B2ESCBqwKgo%2BCOS0ukM9FmOVfCJ4shRY18ayEKeJoHXQQkKhri1POuPkGddcnEFsiZn2xuCAj0VJqjDE7KgEIl2grDoOEGRI"
- },
- data: { parentId: "0", fileId: event.data.fileId },
- success: function(data){
- console.log(data);
- },
- error: function() {
- console.log("commit upload: error");
- },
- complete: function() {
- console.log("commit upload: complete");
- }
- });
- }
- }
- function startUpload(event, formData,uploadUrl,authToken) {
- console.log("inside second", formData, uploadUrl, authToken);
- return $.ajax({
- url: uploadUrl,
- method: "POST",
- headers: {
- "X-Auth-Token": 'HMV0AFK27ZU6r1qv5RxAjXsUSYdPwPVteLqJaeQmhKf5Kn6tD4zUgxROoCo16JOK_S3b_bwB3IV%2B2ESCBqwKgo%2BCOS0ukM9FmOVfCJ4shRY18ayEKeJoHXQQkKhr'+
- 'i1POuPkGddcnEFsiZn2xuCAj0VJqjDE7KgEIl2grDoOEGRI',
- "X-Api-Key": "27pk27nee7xart6342yebyfn",
- "Accept" : "application/json",
- "Content-Type": "multipart/form-data"
- },
- data: formData,
- processData: false,
- contentType: false,
- success: function(data){
- console.log("start upload: success",data);
- alert("starting" + data);
- },
- error: function() {
- console.log("start upload: error");
- },
- complete: function() {
- console.log("start upload: complete");
- }
- });
- }
- }
- </script>
- </script>
- <button id="authorize-button" onclick="handleClientLoad()">Authorize</button>
- <script src="https://apis.google.com/js/client.js"></script>
- ]]>
- </Content>
- </Module>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement