twitter oauth ohne curl
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
arbeiten
array
brauche
code
form
forum
frage
funktion
header
http
laufen
nehmen
null
nutzen
parameter
post
text
type
url
weben
-
Hallo
ich möchte auf einem Web-Hosting, bei dem leider kein CURL funktioniert die Twitter-API nutzen
aber alle bisher gefundenen Twitter-API-Tools (libs) nutzen curl
jetzt habe ich zwar doch einen Code gefunden, der ohne CURl funktioniert,
aber mit oauth2 .... Bearer Token .... also ohne User Access Token
<?php // ---------------------------------------------------------------- header("Content-Type: text/html; charset=utf-8"); // ---------------------------------------------------------------- $consumerKey = '##############'; // hier consumer_Key einfügen $consumerSecret = '##############'; // hier consumer_Secret einfügen // ---------------------------------------------------------------- $authContext = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => "Authorization: Basic " . base64_encode(($consumerKey).':'.($consumerSecret)) . "\r\n". "Content-type: application/x-www-form-urlencoded;charset=UTF-8\r\n". "Content-Length: 29\r\n". "\r\n". "grant_type=client_credentials", ), )); // ---------------------------------------------------------------- // ----------------------- oauth2/token --------------------------- $authResponse = file_get_contents("https://api.twitter.com/oauth2/token", false, $authContext); $decodedAuth = json_decode($authResponse, true); $bearerToken = $decodedAuth["access_token"]; // ---------------------------------------------------------------- $context_get = stream_context_create(array( 'http' => array( 'method' => 'GET', 'header' => "Authorization: Bearer " . $bearerToken . "\r\n". "\r\n". "grant_type=client_credentials", ), )); // ---------------------------------------------------------------- // --------------- application/rate_limit_status ------------------ /* ------ $api_url = 'https://api.twitter.com/1.1/application/rate_limit_status.json'; $encoded_limit_status = file_get_contents($api_url, false, $context_get); $decoded_limit_status = json_decode($encoded_limit_status); print '<br />'."\n"; print '<br />'."\n"; print '<pre style="margin:18px 4px; padding:6px; text-align:left; background:#DEDEDE; color:#000066;">'."\n"; print_r($decoded_limit_status); print '</pre>'."\n"; print '<br />'."\n"; print '<br />'."\n"; ------ */ // ---------------------------------------------------------------- // -------------------- statuses/user_timeline -------------------- $screenname = 'limacity'; $max_result = 10; $parameter = ''; $parameter .= '&screen_name='.$screenname.''; $parameter .= '&count='.$max_result.''; $parameter .= '&exclude_replies=false'; $parameter .= '&trim_user=true'; $parameter .= '&contributor_details=false'; $parameter .= '&include_rts=true'; ## $parameter .= '&user_id='; ## $parameter .= '&since_id='; ## $parameter .= '&max_id='; $parameter = ltrim($parameter,'&'); $api_url = 'https://api.twitter.com/1.1/statuses/user_timeline.json'; $encoded_user_timeline = file_get_contents($api_url.'?'.$parameter, false, $context_get); $decoded_user_timeline = json_decode($encoded_user_timeline); print '<br />'."\n"; print '<br />'."\n"; print '<pre style="margin:18px 4px; padding:6px; text-align:left; background:#DEDEDE; color:#000066;">'."\n"; print_r($decoded_user_timeline); print '</pre>'."\n"; print '<br />'."\n"; print '<br />'."\n"; // ---------------------------------------------------------------- ?>
Frage: ... wie kann ich jetzt damit auch einen User-Access-Token bekommen, anstatt Bearer Token ?
so, dass der User zuerst die APP authoriesiert, um damit zu "arbeiten"
ähnlich wie bei abraham twitteroauth ... nur eben brauche ich es ohne CURL
also die Funktionfunction http($url, $method, $postfields = NULL) { ...
so umbauen wie oben mit stream_context_create() und file_get_contents() ... also ohne CURL
quasi CURL "nachbauen" bzw. "simulieren" mit dem Content-Stream.
weil das Hosting auf dem es laufen soll leider kein CURL anbietet.
Beitrag zuletzt geändert: 8.10.2013 11:56:28 von bginfo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ohne dir den Spaß daran nehmen zu wollen, aber das ist schon sehr sehr speziell.
Hast du schon in den Discussions bei Twitter Developers einen Beitrag eröffnet?
Wenn du bei Google nach "Twitter without curl" suchst, kommt dieser Beitrag:
http://foren.activevb.de/forum/webentwicklung/thread-265/beitrag-266/Twitter-OAuth-using-PHP-without/
Derjenige scheint dein Problem glücklicherweise gelöst und geteilt. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage