我正在为WordPress制作插件,用户点击“登录Instagram”按钮授权我的Instagram应用。授权后,插件基本上只会从用户那里获取最新的Instagram照片并通过小部件显示。
以下是我的插件如何工作的一步一步:
我遇到的问题是我在步骤5收到错误消息“”Redirect URI与原始重定向URI“不匹配。当我删除”return_uri时,它正常工作“来自<strong>重定向URI 的查询参数。
一些细节可能会有所帮助:
以下是我的应用中的重定向URI :
http:// mysite.com/plugins/pulp_instagram/instagram-api-redirect.php
以下是我发送给Instagram “/ authorize”的重定向URI :
http:// mysite.com/plugins/pulp_instagram/instagram-api-redirect.php?return_uri=http:// localhost / instagram-app
以下是我发送给Instagram的完整授权网址“/ authorize”:
https:// api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=http:// mysite.com/plugins/pulp_instagram/instagram-api-redirect.php?return_uri=http: // localhost / instagram-app&amp; response_type = code
以下是网址回复:
http:// mysite.com/plugins/pulp_instagram/instagram-api-redirect.php?return_uri=http:// localhost / instagram-app&amp; code = 557d15dacd0d40459edf70aa159476de
这是“instagram-api-redirect.php”文件的完整代码:
<?php
// the redirect uri
$return_uri = $_GET['return_uri'];
require 'instagram.class.php';
// Initialize class
$instagram = new Instagram(array(
'apiKey' => 'CLIENT-ID',
'apiSecret' => 'CLIENT-SECRET',
'apiCallback' => 'http://mysite.com/plugins/pulp_instagram/instagram-api-redirect.php'
));
// Receive OAuth code parameter
$code = $_GET['code'];
// Check whether the user has granted access
if (true === isset($code)) {
// Receive OAuth token object
$data = $instagram->getOAuthToken($code);
print_r($data);
} else {
// Check whether an error occurred
if (true === isset($_GET['error'])) {
echo 'An error occurred: '.$_GET['error_description'];
}
}
?>
另外,我正在使用cosenary中的“Instagram PHP API”类(instagram.class.php)。
提前致谢!