fantasyrock / instagram
Instagram PHP API 封装器
v1.0.8
2015-07-07 21:09 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- guzzlehttp/guzzle: ^6.0@dev
- guzzlehttp/streams: *
This package is auto-updated.
Last update: 2024-09-13 10:04:16 UTC
README
Instagram API 包
安装
安装此包的推荐方式是通过 Composer。该包可在 Packagist 上找到
您可以通过调用 composer require fantasyrock/instagram
来引入包
或将包手动添加到您的 composer.json
文件中
{ "require": { "fantasyrock/instagram": "*" } }
当前包与 Guzzle HTTP 客户端库 兼容,需要将其添加到您的 composer 文件中
{ "require": { "guzzle/guzzle": "^6.0", } }
适配器
当前包仅提供 Guzzle 作为 HTTP 适配器,但您可以通过扩展 HttpAbstract
并实现 HttpAdapterInterface
来轻松构建自己的适配器
示例
<?php require 'vendor/autoload.php'; use Instagram\Adapters\Http\GuzzleAdapter; use Instagram\Instagram; $adapter = new GuzzleAdapter('access_token'); $factory = new Instagram($adapter);
会话
作为适配器,该包目前仅支持原生会话。但像适配器一样,您也可以通过扩展 SessionAbstract
并实现 SessionAdapterInterface
来轻松构建自己的适配器
示例
<?php require 'vendor/autoload.php'; use Instagram\Adapters\Storage\NativeSessionAdapter; use Instagram\Security\Credentials; $storage = new NativeSessionAdapter(); $credentials = new Credentials(['client_id', 'client_secret', 'redirect_uri'], $storage);
端点
- 用户
- 媒体
- 标签
- 评论
- 点赞
- 关系
- 地理
- 位置
凭证
API 需要instagram提供的有效访问令牌。如果您的应用程序已经可以访问用户令牌,则可以直接将其传递给 HttpClientAdapter,在我们的例子中是 GuzzleAdapter。
要获取访问令牌,您可以使用包中的 Credentials
部分生成登录 URL,并使用适当的适配器请求访问令牌
示例
<?php require 'vendor/autoload.php'; use Instagram\Adapters\Http\GuzzleAdapter; use Instagram\Adapters\Storage\NativeSessionAdapter; use Instagram\Security\Credentials; use Instagram\Instagram; $storage = new NativeSessionAdapter(); $credentials = new Credentials([ 'client_id' => 'YOUR-CLIENT-ID', 'client_secret' => 'YOUR-CLIENT-SECRET', 'redirect_uri' => 'REDIRECT-URI ], $storage); // You may provide additional scope as array of desired additional permissions $loginUrl = $credentials->getLoginUrl(['basic', 'likes']);
使用
<?php require 'vendor/autoload.php'; use Instagram\Adapters\Http\GuzzleAdapter; use Instagram\Adapters\Storage\NativeSessionAdapter; use Instagram\Security\Credentials; use Instagram\Instagram; $storage = new NativeSessionAdapter(); $credentials = new Credentials([ 'client_id' => 'YOUR-CLIENT-ID', 'client_secret' => 'YOUR-CLIENT-SECRET', 'redirect_uri' => 'REDIRECT-URI ], $storage); $adapter = new GuzzleAdapter($credentials->getToken()); $factory = new Instagram($adapter); $user = $factory->userClient(); var_dump($user->getInfo());
问题
如果您遇到任何问题或需要报告错误,请打开一个 [问题案例] (https://github.com/rockoo/InstagramAPI/issues)