jstolpe / instagram-graph-api-php-sdk
Instagram Graph API PHP SDK
v1.0.6
2024-01-03 02:58 UTC
Requires
- php: ^5.6|^7.0|^8.0
README
本仓库包含开源PHP SDK,允许您从PHP应用程序中访问Instagram Graph API。
安装
Composer
运行此命令
composer require jstolpe/instagram-graph-api-php-sdk
需要自动加载器。
require_once __DIR__ . '/vendor/autoload.php'; // change path as needed
没有Composer
获取仓库
git clone git@github.com:jstolpe/instagram-graph-api-php-sdk.git
需要自定义自动加载器。
require_once '/instagram-graph-api-php-sdk/src/instagram/autoload.php'; // change path as needed
使用
用户资料和媒体帖子简单GET示例。
use Instagram\User\BusinessDiscovery; $config = array( // instantiation config params 'user_id' => '<IG_USER_ID>', 'username' => '<USERNAME>', // string of the Instagram account username to get data on 'access_token' => '<ACCESS_TOKEN>', ); // instantiate business discovery for a user $businessDiscovery = new BusinessDiscovery( $config ); // initial business discovery $userBusinessDiscovery = $businessDiscovery->getSelf();
向Instagram账户发布图片的简单POST示例。
use Instagram\User\Media; use Instagram\User\MediaPublish; $config = array( // instantiation config params 'user_id' => '<USER_ID>', 'access_token' => '<ACCESS_TOKEN>', ); // instantiate user media $media = new Media( $config ); $imageContainerParams = array( // container parameters for the image post 'caption' => '<CAPTION>', // caption for the post 'image_url' => '<IMAGE_URL>', // url to the image must be on a public server ); // create image container $imageContainer = $media->create( $imageContainerParams ); // get id of the image container $imageContainerId = $imageContainer['id']; // instantiate media publish $mediaPublish = new MediaPublish( $config ); // post our container with its contents to instagram $publishedPost = $mediaPublish->create( $imageContainerId );
自定义请求示例。
// first we have to instantiate the core Instagram class with our access token $instagram = new Instagram\Instagram( array( 'access_token' => '<ACCESS_TOKEN>' ) ); /** * Here we are making our request to instagram and specify the endpoint along with our custom params. * There is a custom function for get, post, and delete. * $instagram->get() * $instagram->post() * $instagram->delete() * * Here is the skeleton for the customized call. */ $response = $instagram->method( array( 'endpoint' => '/<ENDPOINT>', 'params' => array( // query params key/values must match what IG API is expecting for the endpoint '<KEY>' => '<VALUE>', '<KEY>' => '<VALUE>', // ... ) ) );
文档
请参阅Wiki以获取完整文档。