示例#1
0
 /**
  * Sends the actual request to obtain a request token.
  *
  * @return array('http_code' => HTTP response code (200, 404, 401, etc), 'data' => the html document)
  */
 protected function requestRequestToken($callbackUrl)
 {
     global $apiConfig;
     $requestTokenRequest = apiClientOAuthRequest::from_consumer_and_token($this->consumerToken, NULL, "GET", $this->service['request_token_url'], array());
     $requestTokenRequest->set_parameter('scope', $this->service['scope']);
     $requestTokenRequest->set_parameter('oauth_callback', $callbackUrl);
     $requestTokenRequest->sign_request($this->signatureMethod, $this->consumerToken, NULL);
     $request = $this->io->makeRequest(new apiHttpRequest($requestTokenRequest));
     if ($request->getResponseHttpCode() != 200) {
         throw new apiAuthException("Couldn't fetch request token, http code: " . $request->getResponseHttpCode() . ', response body: ' . $request->getResponseBody());
     }
     return $request->getResponseBody();
 }