public static string DecorateSnippet(MyThread2 th) { string sRet = RscJSon.UnDecorate(th.Snippet); //Making more readable... sRet += "..."; sRet = sRet.Replace("! ", "!\n\n"); sRet = sRet.Replace(". ", ".\n\n"); //Adding HisID to debug, test, etc... sRet += "\n\n(History ID: " + th.HistoryID + ")"; if (th.Acknowledged) { sRet += "\n(acknowledged: " + th.DateAcked.ToString() + ")"; } return(sRet); }
private void LoadContent( ) { string sContent = m_sContent_TEMP; m_sContent_TEMP = ""; m_aLines.Text = sContent; string sErr = ""; RscJSonItem json = RscJSon.FromResponseContetn(sContent, out sErr); if (sErr.Length > 0) { LogError(sErr); } RscViewer_JSon_TreeLbItem ti = new RscViewer_JSon_TreeLbItem(m_aTI, null); m_aTI.Add(ti); ti.SetJSon(json); }
void m_gAuth_ResponseReceived(object sender, RscGoogleAuthEventArgs e) { string sErr = ""; RscJSonItem jsonRoot = null; jsonRoot = RscJSon.FromResponseContetn(jsonRoot, e.Content, out sErr, e.Uri, e.ContentType); if (sErr.Length > 0) { //OnDone( -101 ); // If m_gAuth_AuthenticationFailed has called, // this will called too!!! OnDone(ciAuthFail); return; } string sErrorCode = ""; if (jsonRoot.ChildCount > 0) { if (jsonRoot.GetChild(0).Name == "error") { OnDone(-102); return; } } string sPath = AppLogic.csSecretsFolder + "\\" + m_sUserIDlast; //Saving threads to have older thread content... int iNew = AppLogic.SaveThreadData(true, sPath, jsonRoot); OnDone(iNew); //MessageBox.Show( "Completed..." ); }
private void DoLoad(TreeLbItem ti, string sContent, string sID, string sDetails, bool bSaveJSon) { string sErr = ""; RscJSonItem jsonRoot = null; /* * jsonRoot = new RscJSonItem(); * jsonRoot.ID = response.ResponseUri.ToString(); * jsonRoot.Name = "IRestResponse<Object>"; * jsonRoot.AddProperty( "Response Status", response.ResponseStatus.ToString() ); * jsonRoot.AddProperty( "Response Uri", response.ResponseUri.ToString() ); * jsonRoot.AddProperty( "Content Length", response.ContentLength.ToString() ); */ jsonRoot = RscJSon.FromResponseContetn(jsonRoot, sContent, out sErr, sID, sDetails); if (sErr.Length > 0) { LogError(sErr); } if (jsonRoot != null) { // // // string sErrorCode = ""; if (jsonRoot.ChildCount > 0) { if (jsonRoot.GetChild(0).Name == "error") { //For example: Required Scope not specified while LogOn!!! sErrorCode = jsonRoot.GetChildPropertyValue(0, "code"); string sErrorMessage = jsonRoot.GetChildPropertyValue(0, "message"); LogError("Error response:\ncode: " + sErrorCode + "\nmessage: " + sErrorMessage); } } // // // //Show Error JSon!!! //if( sErrorCode.Length == 0 ) { //Try to load result as is... GoogleRequest gr = GoogleUtils.GoogleRequestFromUrl(jsonRoot.ID); switch (gr) { case GoogleRequest.UserInfo: case GoogleRequest.GMail_Messages: case GoogleRequest.GMail_Message_Details: case GoogleRequest.GMail_Labels: case GoogleRequest.GMail_Threads: case GoogleRequest.GMail_History: case GoogleRequest.GMail_Drafts: { ti.SetResponse(jsonRoot); RscStore store = new RscStore(); if (gr == GoogleRequest.UserInfo) { string sUserID = jsonRoot.GetPropertyValue("id"); if (m_sUserIDlast.Length == 0 || m_sUserIDlast != sUserID) { if (sUserID.Length > 0) { m_sUserIDlast = sUserID; store.WriteTextFile(csSecretsFolder + "\\" + "UserIDlast.txt", m_sUserIDlast, true); AddRootContainers(); } } } string sPath = ""; string sFn = ""; if (m_sUserIDlast.Length > 0) { sPath = csSecretsFolder + "\\" + m_sUserIDlast; sFn = Uri2FileName(jsonRoot.ID); } if (bSaveJSon) { if (m_sUserIDlast.Length > 0) { store.CreateFolderPath(sPath); store.WriteTextFile(sPath + "\\" + sFn + ".json", sContent, true); m_btnCleanUp.Visibility = Rsc.Visible; } } if (sErr.Length == 0) { if (sFn.Length > 0) { if (bSaveJSon) { m_AppFrame.StatusText = "Downloaded to " + sPath + "\\" + sFn + ".json"; } else { m_AppFrame.StatusText = "Loaded from " + sPath + "\\" + sFn + ".json"; } } else { if (bSaveJSon) { m_AppFrame.StatusText = "Downloaded..."; } else { m_AppFrame.StatusText = "Loaded..."; } } } break; } default: { //Unexpected... LogError(jsonRoot.ToDecoratedString()); break; } } } } }
private void m_btnInit_Click(object sender, System.Windows.RoutedEventArgs e) { if (m_gAuth == null) { RscStore store = new RscStore(); store.CreateFolderPath(csSecretsFolder); string sPath = csSecretsFolder + "\\" + "client_secret.json"; bool bNotExists = false; string sJSon = store.ReadTextFile(sPath, "", out bNotExists); if (bNotExists) { MessageBox.Show("File " + sPath + " does not exists!" + "\n\n(NOTE: Drive A: reffers to Isolated Storage.)" + "\n\n(NOTE: You can download missing file from FTP Cloud. Press Tools button in Caption Bar.)"); return; } string sErr = ""; RscJSonItem json = RscJSon.FromResponseContetn(sJSon, out sErr); if (sErr.Length > 0) { LogError(sErr); //Try to get values needed... //return; } //To see content of json... TreeLbItem tiJSon; tiJSon = new TreeLbItem(m_aTI, null); tiJSon.Title = "client_secret.json"; m_aTI.Add(tiJSon); tiJSon.SetResponse(json, false); bool bTmp; m_sUserIDlast = store.ReadTextFile(csSecretsFolder + "\\" + "UserIDlast.txt", "", out bTmp); // // // m_gAuth = new RscGoogleAuth(json, RscGoogleScopes.UserinfoEmail + " " + RscGoogleScopes.UserinfoProfile + " " + RscGoogleScopes.Gmail, webBrowser1); m_gAuth.Authenticated += new EventHandler(m_gAuth_Authenticated); m_gAuth.AuthenticationFailed += new EventHandler(m_gAuth_AuthenticationFailed); m_gAuth.ShowAuthPage += new EventHandler(m_gAuth_ShowAuthPage); m_gAuth.ResponseReceived += new Ressive.GoogleApi.RscGoogleAuth.ResponseReceived_EventHandler(m_gAuth_ResponseReceived); m_gAuth.AuthResult = LoadAuthResult(); // // // m_btnInit.Visibility = Rsc.Collapsed; m_btnExpandAll.Visibility = Rsc.Visible; m_btnCollapseAll.Visibility = Rsc.Visible; //DO NOT!!! //m_btnLogOut.Visibility = Rsc.Visible; m_AppFrame.StatusText = "Initialized..."; // // // TreeLbItem ti; ti = new TreeLbItem(m_aTI, null); ti.gr = GoogleRequest.UserInfo; m_aTI.Add(ti); if (m_sUserIDlast.Length > 0) { AddRootContainers(); } // // // } }
public int ReadThreadData() { RscStore store = new RscStore(); store.CreateFolderPath(AppLogic.csSecretsFolder); string sPath = AppLogic.csSecretsFolder + "\\" + "client_secret.json"; bool bNotExists = false; string sJSon = store.ReadTextFile(sPath, "", out bNotExists); if (bNotExists) { return(-2); } string sErr = ""; RscJSonItem json = RscJSon.FromResponseContetn(sJSon, out sErr); if (sErr.Length > 0) { //Try to get values needed... //return -3; } m_sUserIDlast = store.ReadTextFile(AppLogic.csSecretsFolder + "\\" + "UserIDlast.txt", ""); if (m_sUserIDlast.Length == 0) { return(-3); } // // // //if( gAuth == null ) //{ RscGoogleAuth gAuth = new RscGoogleAuth(json, RscGoogleScopes.UserinfoEmail + " " + RscGoogleScopes.UserinfoProfile + " " + RscGoogleScopes.Gmail, null); //webBrowser1 ); gAuth.Authenticated += new EventHandler(m_gAuth_Authenticated); gAuth.AuthenticationFailed += new EventHandler(m_gAuth_AuthenticationFailed); gAuth.ShowAuthPage += new EventHandler(m_gAuth_ShowAuthPage); gAuth.ResponseReceived += new Ressive.GoogleApi.RscGoogleAuth.ResponseReceived_EventHandler(m_gAuth_ResponseReceived); //bool bNotExists; gAuth.AuthResult = LoadAuthResult(out bNotExists); if (bNotExists) { return(-4); } //} // // // string sUriResource = ""; string sBaseUrl = GoogleUtils.GoogleRequestBaseUrl(GoogleRequest.GMail_Threads, out sUriResource, "me", ""); if (sBaseUrl.Length == 0) { return(-5); } /* * Object oRes = null; * var taskHlp = Task.Run(async () => { oRes = await m_gAuth.SendRequestTask( sBaseUrl, sUriResource ); }); * taskHlp.Wait(); * * if( oRes == null ) * return -6; * else * return oRes.ToString().Length; */ //Task<Object> tsk = gAuth.SendRequestTask( sBaseUrl, sUriResource ); //tsk.Wait(); /* * int iRet = 0; * var taskHlp = Task.Run(async () => { iRet = await SendRequestTask( gAuth, sBaseUrl, sUriResource ); }); * taskHlp.Wait(); */ /* * Task<Object> tsk = gAuth.SendRequestTask( sBaseUrl, sUriResource ); * for(;;) * { * if( tsk.IsCompleted ) * break; * * //System.Threading.Tasks.Task.Delay(100).Wait(); * * MessageBox.Show( "Not complete..." ); * } */ try { gAuth.SendRequest(sBaseUrl, sUriResource); } catch (Exception) { return(-6); } return(0); }