Exemplo n.º 1
0
// URL の設定、取得
TEST( OAuthTest, OAuthUrl )
{
	OAuthUrlMaker oauth( "", "" );
	oauth.SetOAuthUrl( "cacoo.com", "/oauth/", true );

	EXPECT_EQ( std::string( "https://cacoo.com/oauth/request_token" ), oauth.GetOAuthUrl( "request_token" ) );
}
Exemplo n.º 2
0
void crossTweeter::doRESTPullRequest(){
    QMap<QString, QString> parameters;
    parameters.insert("count", "200");
    if(since_id != 0)
        parameters.insert("since_id", QString::number(since_id));
    if(max_id != 0)
        parameters.insert("max_id", QString::number(max_id));
    OAuthRequest oauth(CONSUMERKEY, CONSUMERSECRET, TOKENKEY, TOKENSECRET);
    parameters.insert("user_id", FOLLOWSTRING);
    parameters.insert("trim_user", "true");

    oauth.setGetParameters(parameters);

    oauth.setRequestDestination("GET", "https://api.twitter.com/1.1/statuses/user_timeline.json");

    oauth.sign();

    QNetworkRequest request = QNetworkRequest(QUrl(formatGetString("https://api.twitter.com/1.1/statuses/user_timeline.json", parameters)));

    request.setRawHeader(QString("Authorization").toAscii(), oauth.getHeaderString().toAscii());
    resetNetworkRequest(&request);

    qDebug()<<"sending REST-Request since"<<since_id<<"max"<<max_id;

    pullManager->get(request);
}
Exemplo n.º 3
0
void setup_network_stream()
{
  std::string consumer_key = std::getenv("tw_consumer_key");
  std::string consumer_secret = std::getenv("tw_consumer_secret");
  std::string oauth_token = std::getenv("tw_oauth_token");
  std::string oauth_token_secret = std::getenv("tw_oauth_token_secret");

  std::string tw_stream_params = "track=" + tw_term;

  OAuth::Consumer consumer(consumer_key, consumer_secret);
  OAuth::Token token(oauth_token, oauth_token_secret);
  OAuth::Client oauth(&consumer, &token);

  std::string oAuthHeader =
      oauth.getHttpHeader(
          OAuth::Http::Post,
          tw_stream_url,
          tw_stream_params);

  int tweet_max = 13;
  int tweet_count;

  ahjs::AsyncHttpsJsonStream c(
      io_service,
      io_context,
      tw_stream_host,
      tw_stream_port,
      tw_stream_endpoint,
      oAuthHeader,
      tw_stream_params,
      [&tweet_max, &tweet_count] (const std::string& json) {
        // std::cout << json << '\n';

        picojson::value v;
        std::string err = picojson::parse(v, json);
        if (!err.empty()) {
          std::cerr << err << std::endl;
        } else {
          extract_image_urls(v);
        }
      }
  );

  io_service.run();
}
Exemplo n.º 4
0
void RequestTokenJob::start()
{
    QOAuth::Interface oauth(this);
    oauth.setConsumerKey(CONSUMER_KEY);
    oauth.setConsumerSecret(CONSUMER_SECRET);

    QOAuth::ParamMap map = oauth.requestToken(REQUEST_TOKEN_URL, QOAuth::POST, QOAuth::HMAC_SHA1);

    QByteArray oauthToken, oauthTokenSecret;
    bool success = false;
    if (oauth.error() == 200) {
        oauthToken = map.value (QOAuth::tokenParameterName());
        oauthTokenSecret = map.value (QOAuth::tokenSecretParameterName());
        success = true;
    }

    emit finished(success, oauthToken, oauthTokenSecret);
}
Exemplo n.º 5
0
TRequestToken OsmOAuth::FetchRequestToken() const
{
  OAuth::Consumer const consumer(m_consumerKeySecret.first, m_consumerKeySecret.second);
  OAuth::Client oauth(&consumer);
  string const requestTokenUrl = m_baseUrl + "/oauth/request_token";
  string const requestTokenQuery = oauth.getURLQueryString(OAuth::Http::Get, requestTokenUrl + "?oauth_callback=oob");
  HttpClient request(requestTokenUrl + "?" + requestTokenQuery);
  if (!request.RunHttpRequest())
    MYTHROW(NetworkError, ("FetchRequestToken Network error while connecting to", request.UrlRequested()));
  if (request.ErrorCode() != HTTP::OK)
    MYTHROW(FetchRequestTokenServerError, (DebugPrint(request)));
  if (request.WasRedirected())
    MYTHROW(UnexpectedRedirect, ("Redirected to", request.UrlReceived(), "from", request.UrlRequested()));

  // Throws std::runtime_error.
  OAuth::Token const reqToken = OAuth::Token::extract(request.ServerResponse());
  return { reqToken.key(), reqToken.secret() };
}
Exemplo n.º 6
0
TKeySecret OsmOAuth::FinishAuthorization(TRequestToken const & requestToken, string const & verifier) const
{
  OAuth::Consumer const consumer(m_consumerKeySecret.first, m_consumerKeySecret.second);
  OAuth::Token const reqToken(requestToken.first, requestToken.second, verifier);
  OAuth::Client oauth(&consumer, &reqToken);
  string const accessTokenUrl = m_baseUrl + "/oauth/access_token";
  string const queryString = oauth.getURLQueryString(OAuth::Http::Get, accessTokenUrl, "", true);
  HttpClient request(accessTokenUrl + "?" + queryString);
  if (!request.RunHttpRequest())
    MYTHROW(NetworkError, ("FinishAuthorization Network error while connecting to", request.UrlRequested()));
  if (request.ErrorCode() != HTTP::OK)
    MYTHROW(FinishAuthorizationServerError, (DebugPrint(request)));
  if (request.WasRedirected())
    MYTHROW(UnexpectedRedirect, ("Redirected to", request.UrlReceived(), "from", request.UrlRequested()));

  OAuth::KeyValuePairs const responseData = OAuth::ParseKeyValuePairs(request.ServerResponse());
  // Throws std::runtime_error.
  OAuth::Token const accessToken = OAuth::Token::extract(responseData);
  return { accessToken.key(), accessToken.secret() };
}
Exemplo n.º 7
0
OsmOAuth::Response OsmOAuth::Request(string const & method, string const & httpMethod, string const & body) const
{
  if (!IsValid(m_tokenKeySecret))
    MYTHROW(InvalidKeySecret, ("User token (key and secret) are empty."));

  OAuth::Consumer const consumer(m_consumerKeySecret.first, m_consumerKeySecret.second);
  OAuth::Token const oatoken(m_tokenKeySecret.first, m_tokenKeySecret.second);
  OAuth::Client oauth(&consumer, &oatoken);

  OAuth::Http::RequestType reqType;
  if (httpMethod == "GET")
    reqType = OAuth::Http::Get;
  else if (httpMethod == "POST")
    reqType = OAuth::Http::Post;
  else if (httpMethod == "PUT")
    reqType = OAuth::Http::Put;
  else if (httpMethod == "DELETE")
    reqType = OAuth::Http::Delete;
  else
    MYTHROW(UnsupportedApiRequestMethod, ("Unsupported OSM API request method", httpMethod));

  string url = m_apiUrl + kApiVersion + method;
  string const query = oauth.getURLQueryString(reqType, url);
  auto const qPos = url.find('?');
  if (qPos != string::npos)
    url = url.substr(0, qPos);

  HttpClient request(url + "?" + query);
  if (httpMethod != "GET")
    request.SetBodyData(body, "application/xml", httpMethod);
  if (!request.RunHttpRequest())
    MYTHROW(NetworkError, ("Request Network error while connecting to", url));
  if (request.WasRedirected())
    MYTHROW(UnexpectedRedirect, ("Redirected to", request.UrlReceived(), "from", url));

  return Response(request.ErrorCode(), request.ServerResponse());
}