使用OAuth 2.0进行身份验证WordPress REST Api - 错误:尝试获取非对象的属性

时间:2016-06-22 23:55:58

标签: wordpress api rest

我们正在构建一个移动应用程序,它使用我们的WordPress网站上的内容。 在开发者控制台上,我们已将重定向网址设置为http://localhost/WordPressTester/testRestpage.php,网站设置为http://localhost/ 这很好用,并将我们重定向回localhost / WordPressTester /testRestpage.php。 我们使用以下代码遵循此说明:

<?php 
$ClientId="xxxxx";
$ClientSecret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$redirectUrl="http://localhost/WordPressTester/testRestpage.php";
$authUrl="https://public-api.wordpress.com/oauth2/authorize?client_id=".$ClientId."&redirect_uri=".$redirectUrl."&response_type=code&blog=http://oursite.com";
//==============================
// Work Now
//=============
if(isset($_GET['code'])){
$curl = curl_init( 'https://public-api.wordpress.com/oauth2/token' );
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_POSTFIELDS, array(
    'client_id' => $ClientId,
    'redirect_uri' => $redirectUrl,
    'client_secret' =>$ClientSecret,
    'code' => $_GET['code'], // The code from the previous request
    'grant_type' => 'authorization_code'
) );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1);
$auth = curl_exec( $curl );
$secret = json_decode($auth , true);
$access_key = $secret->access_token;
echo "Here is the Token<br/>".$access_key;
}
else
{
    echo "<a href='".$authUrl."' >Authorise App</a>";
}
?>

然而,重定向后,我们收到此错误消息。而不是产生access_token

注意:尝试在C:\ TechLocal \ WordPressTester \ testRestpage.php中获取非对象的属性 第19行

我们知道有插件可以使用而不是这些,但我们想按照wordpress.com上的说明进行操作 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我有解决方案,因为我在本地服务器上运行代码。

我将应用程序移动到了实时网站,它运行正常。

我也发现了这两个有用的链接

1)WordPress-Android

2)WordPress-iOS