diff --git a/src/mastodon-cpp.cpp b/src/mastodon-cpp.cpp index 85123d2..986d27c 100644 --- a/src/mastodon-cpp.cpp +++ b/src/mastodon-cpp.cpp @@ -134,6 +134,17 @@ const std::uint16_t API::register_app1(const string &instance, string &client_id, string &client_secret, string &url) +{ + register_app1(client_name, redirect_uri, scopes, website, + client_id, client_secret, url); +} +const std::uint16_t API::register_app1(const string &client_name, + const string &redirect_uri, + const string &scopes, + const string &website, + string &client_id, + string &client_secret, + string &url) { API::parametermap parameters = { @@ -157,7 +168,7 @@ const std::uint16_t API::register_app1(const string &instance, std::regex_search(answer, match, resecret); client_secret = match[1].str(); - url = "https://" + instance + "/oauth/authorize" + + url = "https://" + _instance + "/oauth/authorize" + "?scope=" + curlpp::escape(scopes) + "&response_type=code" + "&redirect_uri=" + curlpp::escape(redirect_uri) + "&client_id=" + client_id; @@ -187,6 +198,15 @@ const std::uint16_t API::register_app2(const string &instance, const string &redirect_uri, const string &code, string &access_token) +{ + register_app2(client_id, client_secret, redirect_uri, code, access_token); +} + +const std::uint16_t API::register_app2(const string &client_id, + const string &client_secret, + const string &redirect_uri, + const string &code, + string &access_token) { API::parametermap parameters = { diff --git a/src/mastodon-cpp.hpp b/src/mastodon-cpp.hpp index f499b4a..85c0af6 100644 --- a/src/mastodon-cpp.hpp +++ b/src/mastodon-cpp.hpp @@ -250,7 +250,6 @@ public: /*! * @brief Register application, step 1/2 * - * @param instance * @param client_name The name of the application * @param redirect_uri urn:ietf:wg:oauth:2.0:oob for none * @param scopes Scopes (read, write, follow, space separated) @@ -262,6 +261,17 @@ public: * @return @ref error "Error code". If the URL has permanently changed, 3 * is returned and url is set to the new URL. */ + const std::uint16_t register_app1(const std::string &client_name, + const std::string &redirect_uri, + const std::string &scopes, + const std::string &website, + std::string &client_id, + std::string &client_secret, + std::string &url); + + /*! + * @deprecated Will vanish in 0.5.0 + */ const std::uint16_t register_app1(const std::string &instance, const std::string &client_name, const std::string &redirect_uri, @@ -276,7 +286,6 @@ public: * * The access token will be used in all subsequent calls. * - * @param instance * @param client_id * @param client_secret * @param redirect_uri urn:ietf:wg:oauth:2.0:oob for none @@ -285,6 +294,15 @@ public: * * @return @ref error "Error code". */ + const std::uint16_t register_app2(const std::string &client_id, + const std::string &client_secret, + const std::string &redirect_uri, + const std::string &code, + std::string &access_token); + + /*! + * @deprecated Will vanish in 0.5.0 + */ const std::uint16_t register_app2(const std::string &instance, const std::string &client_id, const std::string &client_secret,