getfokus/positionly

positionly.com 的 PHP 库

dev-master 2013-12-30 22:24 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:37:28 UTC


README

完整API文档:https://positionly.com/api

目录

###作者 & 联系方式

Piotr Athlan Pelczar - me@athlan.pl

安装

###Composer

composer.json 中添加依赖项

"require": {
    "getfokus/positionly": "*"
},

使用说明

  1. 设置 OAuth2 认证的凭证(clientId, clientSecret, username 和 password)并创建 OAuth2\Client 对象。
  2. 获取 OAuth2 访问令牌(密码方法)
  3. 将客户端对象传递给 PositionlyApi 实例。
  4. 调用 API
$response = $api->get('/accounts'); // for https://api.positionly.com/v1/accounts.json

// the $response contains the array with result

GET 请求

要执行 GET 请求,只需使用

$response = $api->get('/accounts');
$response = $api->get('/accounts/<account id>/websites');

if($response->isSuccess()) {
	echo 'Success:';
	
	$result = $response->getResult();
	print_r($result);
}
else {
	echo 'Failure.';
}

DELETE 请求

要执行 DELETE 请求,只需使用

$response = $api->delete('/accounts/<account id>/websites/<website id>');

if($response->isSuccess()) {
	echo 'Success:';
}
else {
	echo 'Failure.';
}

POST 请求

要执行 POST 请求,只需使用

$params = array(
	'scheme' => 'http',
	'name' => 'example.com',
	'title' => 'Example website',

	'website_engines_attributes' => array(
	    array(
			"engine_id" => 43,
		)
	)
);

$response = $api->post('/accounts/<account id>/websites', $params);
	
if($response->isSuccess()) {
	echo 'Success:';

	$result = $response->getResult();
	print_r($result);
}
else {
	echo 'There are errors in form:';
	
	$result = $response->getResult();
	print_r($result['errors']);
}

完整示例

<?php

require_once __DIR__ . '/../vendor/autoload.php';

use PositionlyApi\PositionlyApi;

$clientId = '';
$clientSecret = '';
$username = '';
$password = '';

$client = new OAuth2\Client($clientId, $clientSecret);

$authorizationParams = array(
	'username' => $username,
	'password' => $password,
);

$result = $client->getAccessToken(PositionlyApi::getTokenEndpoint(), 'password', $authorizationParams);
$accessToken = json_decode($result['result'], true);

$client->setAccessToken($accessToken['access_token']);

$api = new PositionlyApi($client);

// get accounts
$response = $api->get('/accounts');

print_r($response);

?>