0

你好,我有各種用oAuth進行身份驗證的教程,但似乎每個人都有一塊我不知道的難題。在CMS中將twitter添加到PHP表格中

在我的CMS我編輯控制器,在提交按鈕處處理信息。 $_POST包含此數據,並簡單地評價內容

if(!empty($_POST)) 
     { 
      $mingurl = 'http://www.myurl.com'; 
      $mingmsg = "New tweet! Link: " . $mingurl; 

      //Connect to Twitter 
      $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET); 

      $connection->getAuthorizeURL(OAUTH_TOKEN, true); 

      // Posten 
      $connection->post('statuses/update', array('status' => $mingmsg)); 

      // Error afhandeling 
      $httpc = $connection->http_code; 
      if($httpc == 200) { 
       echo 'Tweet posted!'; 
      } else { 
       echo "Failed!"; 
      } 

     } 

現在似乎什麼都沒有發生,尤其是考慮到Twitter帳戶不被更新。我注意到無處可以在這裏調用其他twitteroauth函數,比如最初應該登錄並允許twitter應用程序編輯東西的函數,但沒有教程詳細說明這應該如何工作。我應該使用哪些函數,我正在使用亞伯拉罕威廉姆斯twitter oauth php對象。

此外,我不確定是否需要編輯模型或視圖只是爲了添加這些幕後更新,但我想知道第一次添加您的Twitter憑據的彈出窗口,這是否需要成爲一個功能的觀點?我將如何從控制器等呼叫

回答

1

我想你應該先獲取請求令牌,然後實際使用授權URL進行身份驗證。

$request_token = $connection->getRequestToken($callback_url); 

$url = $connection->getAuthorizeURL($token); 
header('Location: '.$url); 

我不記得確切原因,但由於某種原因,我可以用你使用的是現在圖書館,創建了自己的:http://code.google.com/p/social-php/

你也可以考慮使用「標準」的鳴叫按鈕如果這更合適: http://twitter.com/about/resources/tweetbutton

+0

hm鳴叫按鈕看起來很有趣,我想要一個鳴叫自動發送與此表單。我在理解這個問題時經常遇到一個問題:我的這個twitter應用程序的回調url是none,我在回調url字段中輸入了什麼? – CQM

+0

與您的API oath庫添加可能會超出我在此服務器上的權限。而我剛剛使用的其他oauth是一些包含在同一文件夾中的單獨文件 – CQM

+0

如果您使用php來授權帳戶發送推文,則需要一個回調url。用戶將被髮送到Twitter網站進行身份驗證,然後通過您需要的令牌傳回您的網站。 https://dev.twitter.com/docs/auth/oauth/faq –