2011-07-06 2 views
1

내가 무엇을 가지고 : 로컬 호스트포스트/업데이트 데이터는

에서 트위터와 PHP 응용 프로그램에서 생성 트위터 응용 프로그램은 내가 원하는 것은 트위터 API를 통해 포스트 짹짹/업데이트 상태 만 응용 프로그램 계정에서 (!) . 트위터가 어디에도 없으며, 사용자 로그인이없고 아무 것도 없습니다.

내가 뭘하려 :

dev.twitter.com 웹 사이트에서 액세스 토큰과

https://github.com/abraham/twitteroauth

을 반환

또는 "POST 데이터는이 토큰을 사용할 수 없습니다" 그런 식으로.

코드 나 일부 웹 사이트에서 찾을 :

반환

// Define credentials for the Twitter account 
define('TWITTER_CREDENTIALS', 'username:password'); 


// Set up CURL with the Twitter URL and some options 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://twitter.com/statuses/update.xml?status=test_status'); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 


// Twitter uses HTTP authentication, so tell CURL to send our Twitter account details 
curl_setopt($ch, CURLOPT_USERPWD, TWITTER_CREDENTIALS); 


// Execute the curl process and then close 
$data = curl_exec($ch); 
curl_close($ch); 


// If nothing went wrong, we should now have some XML data 
echo '<pre>'.htmlentities(print_r($data, true)).'</pre>'; 

큰 코드 인 기본 인증을 사용

답변

0

그래, 문제가 무엇인지 발견했습니다.

기본적으로 Twitter는 모든 앱을 읽기 전용으로 설정하므로 PHP를 통해 로그인해도 POST/UPDATE를 보낼 수 없습니다. 당신이해야 할 것은 쓰기, 응용 프로그램 설정 (당신이 응용 프로그램의 이름, 설명 및 아바타를 설정 한)에 가서 아바타 전에 "기본 액세스 유형"거기,

읽기로 전환하고, & 직접 메시지

및 voila.

이 응용 프로그램의 사용이 조각

$twitter = new \TwitterOAuth('consumer_key', 'consumer_secret', 
           '(oauth_token', 'oauth_token_secret'); 
$twitter->get('account/verify_credentials'); 
$twitter->post('statuses/update', array('status' => 'test status')); 

아를 테스트하고 앱에 로그인 물건을 할 필요가 없습니다, 당신은 "내 액세스 토큰"메뉴에서 필요한 토큰을 얻는다.

0

그건 "기본 인증은 지원되지 입니다" 더 이상 트위터에 의해 지원되지 않습니다. 그것을 무시하십시오.

이제 트위터가 OAuth를 요구하며, 이것이 바로 abraham의 twitteroauth 라이브러리가 사용하는 것입니다. 은 적어도 한번은 로그인/인증해야합니다.

소비자 키와 소비자 시큐리티를 받으려면 먼저 register your app with Twitter해야합니다. 그러면 twitteroauth를 통해 Twitter API를 사용할 수 있습니다.

+0

예 내 앱을 Twitter에 등록 했으므로 twitteroauth를 해당 키없이 사용할 수 없습니다. 앱의 설정 패널로 이동하면 앱에 대한 토큰이 제공됩니다. – Inoryy