ramsey / laravel-oauth2-instagram
league/oauth2-instagram 的 Laravel 5 服务提供者。
Requires
- php: ^7.1.3
- illuminate/support: ^5.6
- league/oauth2-instagram: ^2.0
Requires (Dev)
- jakub-onderka/php-parallel-lint: ^1
- mockery/mockery: ^1
- orchestra/testbench: ^3.6
- phpstan/phpstan: ^0.10
- phpstan/phpstan-mockery: ^0.10
- phpunit/phpunit: ^7
- squizlabs/php_codesniffer: ^3
This package is auto-updated.
Last update: 2024-09-08 14:34:51 UTC
README
ramsey/laravel-oauth2-instagram 是一个 Laravel 5 服务提供者,用于 league/oauth2-instagram。
本项目遵循 贡献者行为准则。通过参与此项目和其社区,你应遵守此准则。
安装
推荐安装方式是通过 Composer。运行以下命令安装软件包并将其添加到项目的 composer.json
文件的要求中
composer require ramsey/laravel-oauth2-instagram
使用 Composer 添加要求后,你需要在 config/app.php
文件中的 providers
数组中添加以下内容
Ramsey\Laravel\OAuth2\Instagram\InstagramServiceProvider::class
然后,在同一文件中的 aliases
数组中添加以下内容
'Instagram' => Ramsey\Laravel\OAuth2\Instagram\Facades\Instagram::class
现在,运行以下命令以使用 Laravel 应用程序正确设置软件包
php artisan vendor:publish
最后,在 Instagram 上注册您的应用程序,并将客户端 ID、客户端密钥和重定向 URI 添加到 config/instagram.php
。
示例
创建一个授权 URL 并将用户重定向到该 URL 以请求访问他们的 Instagram 账户
$authUrl = Instagram::authorize([], function ($url, $provider) use ($request) { $request->session()->put('instagramState', $provider->getState()); return $url; }); return redirect()->away($authUrl);
在重定向 URI 的路由中检查状态和授权代码,并使用代码获取访问令牌。将令牌存储在会话中或存储在您的数据存储库中的用户配置文件中。
if (!$request->has('state') || $request->state !== $request->session()->get('instagramState')) { abort(400, 'Invalid state'); } if (!$request->has('code')) { abort(400, 'Authorization code not available'); } $token = Instagram::getAccessToken('authorization_code', [ 'code' => $request->code, ]); $request->session()->put('instagramToken', $token);
使用访问令牌对 Instagram 进行认证请求。
$instagramToken = $request->session()->get('instagramToken'); $instagramUser = Instagram::getResourceOwner($instagramToken); $name = $instagramUser->getName(); $bio = $instagramUser->getDescription(); $feedRequest = Instagram::getAuthenticatedRequest( 'GET', 'https://api.instagram.com/v1/users/self/feed', $instagramToken ); $client = new \GuzzleHttp\Client(); $feedResponse = $client->send($feedRequest); $instagramFeed = json_decode($feedResponse->getBody()->getContents());
贡献
欢迎贡献!请阅读 CONTRIBUTING 以获取详细信息。
版权和许可
ramsey/laravel-oauth2-instagram 库版权 © Ben Ramsey,并按 MIT 许可证(MIT)授权使用。请参阅 LICENSE 以获取更多信息。