我正在构建一个非常简单的Web应用程序。用户使用Instagram登录后,我无法处理代码返回。我还使用其他API来帮助我,您可以在此处找到它:https://github.com/cosenary/Instagram-PHP-API。
我的主页登录用户,你可以看到下面的PHP代码
<?php
require 'Instagram.php';
use MetzWeb\Instagram\Instagram;
// initialize class
$instagram = new Instagram(array(
'apiKey' => 'YOUR_APP_KEY',
'apiSecret' => 'YOUR_APP_SECRET',
'apiCallback' => 'YOUR_APP_CALLBACK' // must point to success.php
));
// create login URL
$loginUrl = $instagram->getLoginUrl();
?>
用户已成功发送到Instagram登录页面,但是当他们授权我的应用程序时,Instagram会以http://your-redirect-uri?code=CODE
回复。下一页无法呈现。
您可以看到&#34;成功&#34;的代码。应该在下面显示的页面。
/**
* Instagram PHP API
*
* @link https://github.com/cosenary/Instagram-PHP-API
* @author Christian Metz
* @since 01.10.2013
*/
require_once 'Instagram.php';
use MetzWeb\Instagram\Instagram;
// initialize class
$instagram = new Instagram(array(
'apiKey' => 'YOUR_APP_KEY',
'apiSecret' => 'YOUR_APP_SECRET',
'apiCallback' => 'YOUR_APP_CALLBACK' // must point to success.php
));
// receive OAuth code parameter
$code = $_GET['code'];
// check whether the user has granted access
if (isset($code)) {
// receive OAuth token object
$data = $instagram->getOAuthToken($code);
$username = $username = $data->user->username;
// store user access token
$instagram->setAccessToken($data);
// now you have access to all authenticated user methods
$result = $instagram->getUserMedia();
} else {
// check whether an error occurred
if (isset($_GET['error'])) {
echo 'An error occurred: ' . $_GET['error_description'];
}
}
?>
如果用户取消授权请求,那么&#34;成功&#34;页面正确呈现并显示正确的错误消息。所以我相信我的问题在于处理Instagram返回到我的网络应用程序的代码参数。谢谢您的帮助。
答案 0 :(得分:0)
检查YOUR_APP_CALLBACK
重定向网址是否正确 - 它应该与Instagram应用程序中的相同。请在此处查看有关可接受的重定向网址的指南:http://instagram.com/developer/authentication/
只要设置了$_GET['code'];
,那么插件应该处理剩下的事情,所以我会检查它是否也被设置了。
如果您还没有这样做,请查看插件示例here。 这应该让你开始。