QEverCloud: Qt рдХреЗ рд▓рд┐рдП рдПрд╡рд░рдиреЛрдЯ рдПрд╕рдбреАрдХреЗ

рдЪреВрдВрдХрд┐ рдЖрдк рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рд╢рд╛рдпрдж рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрд╡рд░рдиреЛрдЯ рдХреНрдпрд╛ рд╣реИред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ Qt рдХреНрдпрд╛ рд╣реИ :)
рдФрд░ рд╢рд╛рдпрдж рдЖрдк, рдореЗрд░реА рддрд░рд╣, рдЙрдиреНрд╣реЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред



рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рд╕реА ++ / рдХреНрдпреВрдЯреА рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдПрд╡рд░рдиреЛрдЯ рдХреНрд▓рд╛рдЙрдб рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ - рддреЛ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╣реИ, рдЗрд╕реЗ рдорд╛рдореВрд▓реА, рдЧреИрд░-рддреБрдЪреНрдЫред C ++ рдХреЗ рд▓рд┐рдП, рдПрд╡рд░рдиреЛрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗрд╡рд▓ рдереНрд░рд┐рдлреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирд╕реЗ рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЬреИрд╕рд╛ рдХрд┐ рдЪрдВрджреНрд░рдорд╛, рдФрд░, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рд╕реАрдзреА рд░реЗрдЦрд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВред

рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЧрдпрд╛ рдФрд░ рдЗрд╕ рдпрд╛рджрдЧрд╛рд░ рдпрд╛рддреНрд░рд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рднреЗрдЬрдирд╛ рдмрд╣реБрдд рдорд╛рдирд╡реАрдп рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦреА рдФрд░ рдЗрд╕реЗ GitHub рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред

QEverCloud рдПрд╡рд░рдиреЛрдЯ рдПрд╕рдбреАрдХреЗ рд╕реЗ рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ?



рдЙрдкрдпреЛрдЧ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдиреЛрдЯрдкреИрдб рдореЗрдВ рдЯреЗрд╕реНрдЯ рдиреЛрдЯ рдмрдирд╛рддрд╛ рд╣реИ:

 #include <QCoreApplication>
 #include <QTextStream>
 # рдЫреЛрдбрд╝рдХрд░ <рдЕрдкрд╡рд╛рдж>
 #include <QEverCloud.h>

 рдиреЗрдорд╕реНрдкреЗрд╕ qevercloud рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛;


 int main (int argc, char * argv [])
 {
     QCoreApplication a (argc, argv);
     рдХреНрдпреВрдЯреЗрдХреНрд╕реНрдЯреНрд░реАрдо рдХреНрд░рд╛рдЙрдЯ (рд╕реНрдЯрдбрдЖрдЙрдЯ);
     рдХреЛрд╢рд┐рд╢ рдХрд░реЛ {
         NoteStore * ns = new NoteStore ((a);

         // рдЕрдкрдиреЗ рдбреЗрд╡рд▓рдкрд░ рдЯреЛрдХрди рдХреЛ рдпрд╣рд╛рдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ
         // https://www.evernote.com/api/DeveloperToken.action
         ns-> setAuthenticationToken ("S = s41: U = 427a0c: E = 14761d37b39: C = 1400a224f39: P = 1cd: A = en-devtoken: V = 2: H = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)";

         // рд╡рд╣рд╛рдБ рдЕрдкрдиреЗ NoteStore URL рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ
         ns-> setNoteStoreUrl ("https://www.evernote.com/shard/xxx/notestore");

         рдиреЛрдЯ рдиреЛрдЯ;
         note.title = "рдЯреЗрд╕реНрдЯ рдиреЛрдЯ";
         note.content = QString ("<? xml рд╕рдВрд╕реНрдХрд░рдг = \" 1.0 \ "рдПрдиреНрдХреЛрдбрд┐рдВрдЧ = \" UTF-8 \ "?> \ n")
                 + "<! DOCTYPE рдПрди-рдиреЛрдЯ рд╕рд┐рд╕реНрдЯрдо \" http: //xml.evernote.com/pub/enml2.dtd \ "> \ n"
                 + "<en-note>"
                 + "<b> рд╡рд╣ рд╡рд┐рдиреА рдж рдкреВрд╣ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд░рд╣рддрд╛ рд╣реИ! </ b> <br /> <br /> <p> рд╣рдореНрдо, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ <a href = \" https: //github.com/mgsxx/QEnCloud \ " "> QEverCloud </a> рдЕрднреА рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ... </ p>"
                 + "</ en-note>";
         ns-> createNote (рдиреЛрдЯ);
     } рдкрдХрдбрд╝ (const std :: рдЕрдкрд╡рд╛рдж рдФрд░ e) {
         cout << "рдЕрдкрд╡рд╛рдж рд╣реБрдЖ:" << e.what () << endl;
         рд╡рд╛рдкрд╕реА 1;
     } рдкрдХрдбрд╝ (...) {
         cout << "рдЕрдЬреНрдЮрд╛рдд рдЕрдкрд╡рд╛рдж рд╣реБрдЖ!"  << рдПрдВрдбрд▓;
         рд╡рд╛рдкрд╕реА 1;
     }
     рд╡рд╛рдкрд╕реА 0;
 }



рдбреЗрд╡рд▓рдкрд░ рдЯреЛрдХрди рдЖрдкрдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ OAuth рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрди рдФрд░ рдиреЛрдЯрд╕реНрдЯреЛрд░ URL рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред QEverCloud рдХреЗ рд╕рд╛рде, рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 #include <QEverCloudOAuth.h>

 ...

 // ConsumerKey рдФрд░ ConsumerSecret рдпрд╣рд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ: https://dev.evernote.com/doc/, AN API рдХреБрдВрдЬреА рдмрдЯрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
 EvernoteOuthDialog d (ConsumerKey, ConsumerSecret, "sandbox.evernote.com");
 d.setWindowTitle ("рдПрд╡рд░рдиреЛрдЯ рд▓реЙрдЧрдЗрди");
 рдЕрдЧрд░ (d.exec ()! = QDialog :: рд╕реНрд╡реАрдХреГрдд) {
     QMessageBox :: рдорд╣рддреНрд╡рдкреВрд░реНрдг (0, "рддреНрд░реБрдЯрд┐", d.oauthError ());
 } {
     QString рдкреНрд░рдорд╛рдгреАрдХрд░рдгToken = d.oauthResult ()ред рдкреНрд░рдорд╛рдгреАрдХрд░рдгToken;
     QString noteStoreUrl = d.oauthResult ()ред рдиреЛрдЯStoreUrl;
 }

Source: https://habr.com/ru/post/In216007/


All Articles