0

您好,我有各种使用 oAuth 进行身份验证的教程,但似乎其他人都有一个我没有的难题。

在我的 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 应用程序编辑内容的函数,但是没有教程详细说明它应该如何工作。我应该调用什么函数,我正在使用 Abraham Williams twitter oauth php 对象。

另外我不确定我是否需要编辑模型或视图只是为了在幕后添加这些更新,但我想知道第一次添加你的 twitter 凭据的弹出窗口,这需要成为视图的一个功能吗?我如何从控制器等中调用它

4

1 回答 1

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

于 2011-09-02T21:32:27.463 回答