рдЪреВрдВрдХрд┐ рдЖрдк рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рд╢рд╛рдпрдж рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрд╡рд░рдиреЛрдЯ рдХреНрдпрд╛ рд╣реИред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ Qt рдХреНрдпрд╛ рд╣реИ :)
рдФрд░ рд╢рд╛рдпрдж рдЖрдк, рдореЗрд░реА рддрд░рд╣, рдЙрдиреНрд╣реЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред
рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рд╕реА ++ / рдХреНрдпреВрдЯреА рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ
рдПрд╡рд░рдиреЛрдЯ рдХреНрд▓рд╛рдЙрдб рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ - рддреЛ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╣реИ, рдЗрд╕реЗ рдорд╛рдореВрд▓реА, рдЧреИрд░-рддреБрдЪреНрдЫред C ++ рдХреЗ рд▓рд┐рдП, рдПрд╡рд░рдиреЛрдЯ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗрд╡рд▓ рдереНрд░рд┐рдлреНрдЯ
рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирд╕реЗ рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЬреИрд╕рд╛ рдХрд┐ рдЪрдВрджреНрд░рдорд╛, рдФрд░, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рд╕реАрдзреА рд░реЗрдЦрд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВред
рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЧрдпрд╛ рдФрд░ рдЗрд╕ рдпрд╛рджрдЧрд╛рд░ рдпрд╛рддреНрд░рд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рднреЗрдЬрдирд╛ рдмрд╣реБрдд рдорд╛рдирд╡реАрдп рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦреА рдФрд░ рдЗрд╕реЗ
GitHub рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред
QEverCloud рдПрд╡рд░рдиреЛрдЯ рдПрд╕рдбреАрдХреЗ рд╕реЗ рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ?
- рдХреЗрд╡рд▓ Qt рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдкрд░ рддрдореНрдмреБрдУрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдиреГрддреНрдп рдирд╣реАрдВред
- рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдмрдЦреНрд╢рд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рд╣реИред
- OAuth рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЪреВрдВрдХрд┐ HTTP рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП QtNetwork рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП HTTP рдкреНрд░реЙрдХреНрд╕реА рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдЙрдкрдпреЛрдЧ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдиреЛрдЯрдкреИрдб рдореЗрдВ рдЯреЗрд╕реНрдЯ рдиреЛрдЯ рдмрдирд╛рддрд╛ рд╣реИ:
#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;
}