5

我正在尝试制作一个通过 Twitter 进行身份验证的基本应用程序,并通过库 codebird-php ( https://github.com/mynetx/codebird-php )代表用户发布消息

我已复制粘贴自述文件中显示的示例代码,并使用我的应用程序的密钥和密码更改了 YOURKEY 和 YOURSECRET。

一切正常,但是当我加载页面时,我收到一条消息:验证 Twitter API 证书时出现错误 77。

我在谷歌的任何地方都找不到这种错误类型...意思很明显,但我不知道如何解决。有什么想法吗?

代码如下:

require_once ('codebird.php');
\Codebird\Codebird::setConsumerKey('YOURKEY', 'YOURSECRET'); // I changed it to my   settings

$cb = \Codebird\Codebird::getInstance();
session_start();

if (! isset($_SESSION['oauth_token'])) {
// get the request token
$reply = $cb->oauth_requestToken(array(
    'oauth_callback' => 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
));

// store the token
$cb->setToken($reply->oauth_token, $reply->oauth_token_secret);
$_SESSION['oauth_token'] = $reply->oauth_token;
$_SESSION['oauth_token_secret'] = $reply->oauth_token_secret;
$_SESSION['oauth_verify'] = true;

// redirect to auth website
$auth_url = $cb->oauth_authorize();
header('Location: ' . $auth_url);
die();

} elseif (isset($_GET['oauth_verifier']) && isset($_SESSION['oauth_verify'])) {
// verify the token
$cb->setToken($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
unset($_SESSION['oauth_verify']);

// get the access token
$reply = $cb->oauth_accessToken(array(
    'oauth_verifier' => $_GET['oauth_verifier']
));

// store the token (which is different from the request token!)
$_SESSION['oauth_token'] = $reply->oauth_token;
$_SESSION['oauth_token_secret'] = $reply->oauth_token_secret;

// send to same URL, without oauth GET parameters
header('Location: ' . basename(__FILE__));
die();
}

// assign access token on each page load
$cb->setToken($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
4

2 回答 2

5

解决了,我必须拥有我下载的包中未包​​含的 .pem。结论:永远不要从不受信任的来源下载!

于 2013-06-16T14:54:47.187 回答
0

很高兴看到这解决了您的问题。

顺便说一句,你最初是从哪里下载 codebird 的?

于 2013-06-23T18:29:25.907 回答