Advertisement
VidyaPriyadarshini

Something

Aug 22nd, 2014
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.45 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Module>
  3. <ModulePrefs title="Hello World"
  4. description="Matches and echoes 'Hello World' string in emails"
  5. height="20"
  6. author="Sarah M and Walter Q"
  7. author_email="..."
  8. author_location="Mountain View, CA">
  9.  
  10. <!-- Declare feature dependencies. -->
  11.  
  12. <!-- This one is not specific to Gmail contextual gadgets. -->
  13. <Require feature="dynamic-height"/>
  14.  
  15. <!-- The next feature, Caja, is optional, and is supported for
  16. use only within test domains. Uncomment the tag only for
  17. non-production gadgets. -->
  18. <!-- <Require feature="caja"/> -->
  19.  
  20. <!-- The next feature, google.contentmatch, is required for all
  21. Gmail contextual gadgets.
  22. <Param> - specify one or more comma-separated extractor IDs in
  23. a param named "extractors". This line is overridden by the extractor ID
  24. in the manifest, but is still expected to be present. -->
  25. <Require feature="google.contentmatch">
  26. <Param name="extractors">
  27. google.com:MessageIDExtractor
  28. </Param>
  29. </Require>
  30.  
  31. </ModulePrefs>
  32.  
  33. <!-- Define the content type and display location. The settings
  34. "html" and "card" are required for all Gmail contextual gadgets. -->
  35. <Content type="html" view="card">
  36. <![CDATA[
  37. <!-- Start with Single Sign-On -->
  38. <!--script type="text/javascript" src="https://example.com/gadgets/sso.js"></script-->
  39. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  40. <script type="text/javascript">
  41.  
  42. <!-- Fetch the array of content matches. -->
  43. matches = google.contentmatch.getContentMatches();
  44. var matchList = document.createElement('UL');
  45. var listItem;
  46. var extractedText;
  47. var messageIds;
  48. var messageId;
  49. var messageIdList = document.createElement('UL');
  50. var para = document.createElement("p");
  51. var apiKey = 'AIzaSyBDDcH3TEmfyitCTYzk5VZx7YwiZyNtXlQ';
  52.  
  53. 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"];
  54.  
  55. var clientId = '1095931665697-ipmo6t5o9ul8kj5ofa0pjvg0h33iut1q.apps.googleusercontent.com';
  56.  
  57.  
  58. <!-- Iterate through the array and display output for each match. -->
  59. for (var match in matches) {
  60. for (var key in matches[match]) {
  61. listItem = document.createElement('LI');
  62. extractedText = document.createTextNode(key + ": " + matches[match][key]);
  63. messageIds = document.createElement('LI');
  64. messageId = matches[match][key];
  65. var node = document.createTextNode(handleClientLoad(messageId));
  66. para.appendChild(node);
  67. listItem.appendChild(extractedText);
  68. matchList.appendChild(listItem);
  69. }
  70. }
  71. document.body.appendChild(matchList);
  72. gadgets.window.adjustHeight(100);
  73.  
  74. function handleClientLoad(messageId) {
  75. alert("in");
  76. var authToken = 'ya29.bAC47ogaMYA1_CEAAADiF6y35mun3mXAVC9rOxQ4WSf6GxotiiN9TKM_II_XeAMnojgsxYYqN_nh3flpZ-w';
  77. $.ajax({
  78. url: "https://www.googleapis.com/gmail/v1/users/me/messages/" + messageId,
  79. method: "GET",
  80. headers: {
  81. "Authorization": "Bearer " + authToken,
  82. "Accept" : "application/json"
  83. },
  84. success: function(data){
  85. console.log(data);
  86. var byteCharacters = data.snippet;
  87. var byteNumbers = new Array(byteCharacters.length);
  88. for (var i = 0; i < byteCharacters.length; i++) {
  89. byteNumbers[i] = byteCharacters.charCodeAt(i);
  90. }
  91. var byteArray = new Uint8Array(byteNumbers);
  92. var blob = new Blob([byteArray]);
  93.  
  94. console.log("blob is" + blob);
  95. initUpload(blob);
  96. $.each( data.payload.parts, function( key, value ) {
  97. console.log(value.body.data);
  98. return value.body.data ;
  99. });
  100. return blob;
  101. },
  102. error: function() {
  103. console.log("gmail get: error");
  104. },
  105. complete: function() {
  106. console.log("gmail: complete");
  107.  
  108. }
  109. });
  110.  
  111. }
  112.  
  113.  
  114. function makeFrame(blob) {
  115. ifrm = document.createElement("IFRAME");
  116. ifrm.setAttribute("src", "https://www.yousendit.com");
  117. ifrm.setAttribute("id","myFrame");
  118. ifrm.setAttribute("name","myFrame");
  119. ifrm.style.width = 950+"px";
  120. ifrm.style.height = 950+"px";
  121. var authToken = '414347187.fca4f9125c4d202508950fc8fa100cdd0030b9c3';
  122. document.body.appendChild(ifrm);
  123.  
  124. alert("new way");
  125. console.log("Make Frame blob is " + blob);
  126. var authToken =
  127. 'HMV0AFK27ZU6r1qv5RxAjXsUSYdPwPVteLqJaeQmhKf5Kn6tD4zUgxROoCo16JOK_S3b_bwB3IV%2B2ESCBqwKgo%2BCOS0ukM9FmOVfCJ4shRY18ayEKeJoHXQQkKhr'+
  128. 'i1POuPkGddcnEFsiZn2xuCAj0VJqjDE7KgEIl2grDoOEGRI';
  129.  
  130. function initUpload(blob) {
  131. event.preventDefault();
  132. console.log("inside initUpload blob is" + blob);
  133. var formData = new FormData();
  134. var uploadUrl;
  135. var fileId;
  136. $.ajax({
  137. url: "https://test2-api.yousendit.com/dpi/v1/folder/file/initUpload",
  138. method: "POST",
  139.  
  140.  
  141. headers: {
  142. "X-Auth-Token": 'HMV0AFK27ZU6r1qv5RxAjXsUSYdPwPVteLqJaeQmhKf5Kn6tD4zUgxROoCo16JOK_S3b_bwB3IV%2B2ESCBqwKgo%2BCOS0ukM9FmOVfCJ4shRY18ayEKeJoHXQQkKhr'+
  143. 'i1POuPkGddcnEFsiZn2xuCAj0VJqjDE7KgEIl2grDoOEGRI',
  144. "X-Api-Key": "27pk27nee7xart6342yebyfn",
  145. "Accept" : "application/json",
  146. },
  147. success: function(data){
  148. console.log("init upload: success",data);
  149. fileId = data.fileId;
  150. console.log("fileId is" + fileId);
  151. uploadUrl = data.uploadUrl[0] + "/";
  152. var srcUrl = uploadUrl.split('.');
  153.  
  154. var frmUrl = srcUrl[0] + "." + srcUrl[1] + ".com";
  155. console.log("frm url" + frmUrl);
  156. formData.append("bid", fileId);
  157. formData.append("fname", blob);
  158. var ifrm1 = document.createElement("IFRAME");
  159. ifrm1.setAttribute("src", frmUrl);
  160. ifrm1.setAttribute("id","myFrame1");
  161. ifrm1.setAttribute("name","myFrame1");
  162. ifrm1.style.width = 350+"px";
  163. ifrm1.style.height = 350+"px";
  164. var myform=document.createElement("form");
  165. myform.setAttribute("id","frm");
  166. myform.setAttribute("name","frm");
  167. document.body.appendChild(myform);
  168. ifrm1.appendChild(myform);
  169. document.body.appendChild(ifrm1);
  170.  
  171.  
  172.  
  173. },
  174. error: function() {
  175. console.log("init upload: error");
  176. },
  177. complete: function(data) {
  178. console.log("init upload: complete");
  179.  
  180. }
  181. }).then(function() { console.log("Finally working"); });
  182.  
  183.  
  184. $( document ).ajaxSuccess(function( event, xhr, settings ) {
  185. console.log( "Triggered ajaxSuccess handler. The ajax response was: " +
  186. xhr.responseText );
  187. var response = JSON.parse(xhr.responseText);
  188. console.log("resonse is " + response);
  189. fileId = response.fileId;
  190. uploadUrl = response.uploadUrl;
  191. formData.append("bId", fileId);
  192. formData.append("fname", blob,"HightailRocks.txt");
  193.  
  194. $( "#myFrame1" ).on( "load", { formData: formData, uploadUrl: uploadUrl, fileId: fileId }, xhrframe);
  195. }); }
  196.  
  197. function xhrframe(event) {
  198.  
  199. console.log("xhr framme"+ event.data.formData + event.data.uploadUrl);
  200. var xhr = new XMLHttpRequest();
  201. xhr.open("POST",event.data.uploadUrl,true);
  202.  
  203. xhr.setRequestHeader("Accept","application/json");
  204. xhr.send(event.data.formData);
  205. xhr.onreadystatechange=function()
  206. {
  207. console.log(xhr.responseText);
  208.  
  209. $.ajax({
  210. url: "https://test2-api.yousendit.com/dpi/v1/folder/file/commitUpload",
  211. method: "POST",
  212. headers: {
  213. "X-Api-Key": "27pk27nee7xart6342yebyfn",
  214. "Accept" : "application/json",
  215. "X-Auth-Token":"HMV0AFK27ZU6r1qv5RxAjXsUSYdPwPVteLqJaeQmhKf5Kn6tD4zUgxROoCo16JOK_S3b_bwB3I"+
  216. "V%2B2ESCBqwKgo%2BCOS0ukM9FmOVfCJ4shRY18ayEKeJoHXQQkKhri1POuPkGddcnEFsiZn2xuCAj0VJqjDE7KgEIl2grDoOEGRI"
  217. },
  218. data: { parentId: "0", fileId: event.data.fileId },
  219. success: function(data){
  220. console.log(data);
  221. },
  222. error: function() {
  223. console.log("commit upload: error");
  224. },
  225. complete: function() {
  226. console.log("commit upload: complete");
  227.  
  228. }
  229. });
  230. }
  231. }
  232. function startUpload(event, formData,uploadUrl,authToken) {
  233. console.log("inside second", formData, uploadUrl, authToken);
  234. return $.ajax({
  235. url: uploadUrl,
  236. method: "POST",
  237. headers: {
  238. "X-Auth-Token": 'HMV0AFK27ZU6r1qv5RxAjXsUSYdPwPVteLqJaeQmhKf5Kn6tD4zUgxROoCo16JOK_S3b_bwB3IV%2B2ESCBqwKgo%2BCOS0ukM9FmOVfCJ4shRY18ayEKeJoHXQQkKhr'+
  239. 'i1POuPkGddcnEFsiZn2xuCAj0VJqjDE7KgEIl2grDoOEGRI',
  240. "X-Api-Key": "27pk27nee7xart6342yebyfn",
  241. "Accept" : "application/json",
  242. "Content-Type": "multipart/form-data"
  243. },
  244. data: formData,
  245. processData: false,
  246. contentType: false,
  247. success: function(data){
  248. console.log("start upload: success",data);
  249. alert("starting" + data);
  250. },
  251. error: function() {
  252. console.log("start upload: error");
  253. },
  254. complete: function() {
  255. console.log("start upload: complete");
  256. }
  257. });
  258.  
  259. }
  260. }
  261.  
  262.  
  263. </script>
  264.  
  265. </script>
  266. <button id="authorize-button" onclick="handleClientLoad()">Authorize</button>
  267. <script src="https://apis.google.com/js/client.js"></script>
  268. ]]>
  269. </Content>
  270. </Module>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement