[英]Having trouble setting custom endpoints for Hybridauth provider (WordPress)
我正在嘗試使用Hybridauth(版本3)通過https://public-api.wordpress.com/rest/v1.1/me/sites端點獲取經過身份驗證的用戶的WordPress博客的列表。 弄清楚了,為此,我需要將WordPress的默認authorize_url端點從https://public-api.wordpress.com/oauth2/authenticate更改為https://public-api.wordpress.com/oauth2/授權 。
Hybridauth使您可以更改端點,如此處的示例所示: https : //github.com/hybridauth/hybridauth/blob/master/examples/example_03.php
不幸的是,這導致以下錯誤:
致命錯誤:未捕獲的TypeError:傳遞給Hybridauth \\ Adapter \\ AbstractAdapter :: setApiEndpoints()的參數1必須是Hybridauth \\ Data \\ Collection的實例,給定數組
編碼:
$config = [
"callback" => APP_URL."/callback",
"keys" => array("id" => "XXXXXX", "secret" => "YYYYYYYYYY"),
"scope" => array("global", "auth"),
"endpoints" => [
"authorize_url" => "https://public-api.wordpress.com/oauth2/authorize",
]
];
$adapter = new Hybridauth\Provider\WordPress($config);
我究竟做錯了什么? 我覺得我錯過了一件非常明顯的事情。
端點應該是Hybridauth\\Data\\Collection
的實例。
您可以將當前的終結Hybridauth\\Data\\Collection
組值傳遞給Hybridauth\\Data\\Collection
構造函數以創建一個實例,並將其設置為config數組中的終結點鍵。
<?php
include './vendor/autoload.php';
$endpoints = new Hybridauth\Data\Collection([
'api_base_url' => 'https://public-api.wordpress.com/rest/v1.1/',
'authorize_url' => 'https://public-api.wordpress.com/oauth2/authorize',
'access_token_url' => 'https://public-api.wordpress.com/oauth2/token',
]);
$config = [
'callback' => Hybridauth\HttpClient\Util::getCurrentUrl(),
'keys' => [ 'id' => 'client-id', 'secret' => 'client-secret' ],
'endpoints' => $endpoints
];
try {
$adapter = new Hybridauth\Provider\WordPress( $config );
$adapter->authenticate();
$tokens = $adapter->getAccessToken();
print_r($tokens);
$userProfile = $adapter->getUserProfile();
print_r( $userProfile );
$adapter->disconnect();
}
catch (Exception $e) {
echo $e->getMessage();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.