我能夠獲得臨時憑證并能夠獲得 oauth 令牌,但是當我使用返回的令牌來獲取用戶詳細信息時,我無法獲取它,因此出現錯誤。我正在使用phpleague/oauth1-client包并創建了一個簡單的控制器,我在其中關注了他們的Twitter 示例。由此,我收到此錯誤League\OAuth1\Client\Credentials\CredentialsException: Received HTTP status code [401] with message "{"errors":[{"code":32,"message":"Could not authenticate you."}]}" when getting temporary credentials. in /var/www/html/PF.Site/Apps/TipsMarketplace/vendor/league/oauth1-client/src/Client/Server/Server.php:418這是我創建的示例代碼。 $server = new Twitter(array( 'identifier' => 'my-identifier', 'secret' => 'my-secret', 'callback_uri' => "http://localhost:8080/twitter/auth", )); session_start(); if (isset($_GET['user'])) { $tokenCredentials = unserialize($_SESSION['token_credentials']); $user = $server->getUserDetails($tokenCredentials); var_dump($user); } elseif (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) { $temporaryCredentials = unserialize($_SESSION['temporary_credentials']); $tokenCredentials = $server->getTokenCredentials($temporaryCredentials, $_GET['oauth_token'], $_GET['oauth_verifier']); unset($_SESSION['temporary_credentials']); $_SESSION['token_credentials'] = serialize($tokenCredentials); session_write_close(); header("Location: http://{$_SERVER['HTTP_HOST']}/twitter/auth?user=user"); exit; } elseif (isset($_GET['denied'])) { echo 'Hey! You denied the client access to your Twitter account!'; } $temporaryCredentials = $server->getTemporaryCredentials(); $_SESSION['temporary_credentials'] = serialize($temporaryCredentials); session_write_close(); $server->authorize($temporaryCredentials);
1 回答

森欄
TA貢獻1810條經驗 獲得超5個贊
事實證明,我沒有通過推特關注3 條腿的 Oauth ,這也在圖書館的樣本中指出。
在我上面的代碼中,我跳過了其中$server->authorize($temporaryCredentials)
將顯示 Twitter 的授權頁面/登錄頁面的部分。
- 1 回答
- 0 關注
- 184 瀏覽
添加回答
舉報
0/150
提交
取消