php - Laravel5.4 中 Instagram 登录 OAuth 问题

标签 php laravel instagram laravel-5.4

我尝试通过 Instagram 登录,我引用 LaravelでInstagramに投稿された写真を全取得してみた

当我尝试登录时,出现一些问题,它重定向到主页,无法显示任何用户信息,但我想在页面上显示用户信息。 picture 我该如何解决这个问题?谢谢。


一步一步:

1.安装cosenary/instagram

composer require cosenary/instagram

2.设置Instagram开发者 IG DEP

3.在 ../config/instagram.php 上设置 'client_id' 、'client_secret' 和 'callback_url':

<?php

return [

    'client_id'     => '0264df4679584XXXXXX313e5bd90',
    'client_secret' => '6eXXXXXXf369298c5433084ee21',
    'callback_url'  => 'http://localhost/',
    'scopes'        => 'basic public_content'

];

4.InstagramController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use MetzWeb\Instagram\Instagram;

class InstagramController extends Controller
{
    private $instagram;

    function __construct() {

        $this->instagram = new Instagram(array(
            'apiKey' => config('instagram.client_id'),
            'apiSecret' => config('instagram.client_secret'),
            'apiCallback' => config('instagram.callback_url')
        ));
    }


    public function instagramLogin() {
        return redirect($this->instagram->getLoginUrl(array(
            'basic'
        )));
    }


    public function instagramCallback(Request $request) {
        $code = $request->code;

        $data = $this->instagram->getOAuthToken($code);
        $this->instagram->setAccessToken($data);

        $user_data = $this->instagram->getUser();
        dd($user_data);
        echo '<pre>';
        var_dump($user_data);
        echo '</pre>';
    }
}

5.设置../routes/web.php

Route::get('login/instagram/', 'InstagramController@instagramLogin');

# Instagram callback
    Route::get('login/instagram/callback/', 'InstagramController@instagramCallback');

最佳答案

您将被重定向到 http://localhost,这只是 Laravel 主页。

您需要重定向到 Instagram 回调路由。

config/instagram.php 中更新您的设置:

'callback_url' => 'http://localhost/login/instagram/callback',

或者如果您设置了 .env:

'callback_url' => env('APP_URL') . '/login/instagram/callback',

关于php - Laravel5.4 中 Instagram 登录 OAuth 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47007932/

相关文章:

php - 从数据库中获取用户喜欢的所有帖子

php - php中的乘法问题

php - 检查表中的多行,如果行匹配,则将其计为 1

laravel - SSL 连接错误 - 连接被对等重置 - 在 Homestead 机器上

linux - 如何使用 wget 自动下载 Instagram 页面

php - 使用 PHP 从 mysql 获取数据到 JSON 可以在本地工作,但不能在服务器上工作

php - Laravel 查询模型

php - 无法实时从redis读取

instagram - 解码 Instagram 媒体 ID?

api - 为什么我从 Instagram API 位置搜索(使用坐标时)收到 'Oops' 错误?