Yaffs site version 1.1
[yaffs-website] / vendor / j7mbo / twitter-api-php / README.md
1 twitter-api-php
2 ===============
3
4 Simple PHP Wrapper for Twitter API v1.1 calls
5
6 [![Total Downloads](https://img.shields.io/packagist/dt/j7mbo/twitter-api-php.svg)](https://packagist.org/packages/j7mbo/twitter-api-php)
7 [![Build Status](https://travis-ci.org/J7mbo/twitter-api-php.svg?branch=master)](https://travis-ci.org/J7mbo/twitter-api-php)
8 [![Version](https://badge.fury.io/gh/j7mbo%2Ftwitter-api-php.svg)](https://packagist.org/packages/j7mbo/twitter-api-php)
9
10 **[Changelog](https://github.com/J7mbo/twitter-api-php/wiki/Changelog)** ||
11 **[Examples](https://github.com/J7mbo/twitter-api-php/wiki/Twitter-API-PHP-Wiki)** ||
12 **[Wiki](https://github.com/J7mbo/twitter-api-php/wiki)**
13
14 [Instructions in StackOverflow post here](http://stackoverflow.com/questions/12916539/simplest-php-example-retrieving-user-timeline-with-twitter-api-version-1-1/15314662#15314662) with examples. This post shows you how to get your tokens and more. 
15 If you found it useful, please upvote / leave a comment! :)
16
17 The aim of this class is simple. You need to:
18
19 - Include the class in your PHP code
20 - [Create a twitter app on the twitter developer site](https://dev.twitter.com/apps/)
21 - Enable read/write access for your twitter app
22 - Grab your access tokens from the twitter developer site
23 - [Choose a twitter API URL to make the request to](https://dev.twitter.com/docs/api/1.1/)
24 - Choose either GET / POST (depending on the request) 
25 - Choose the fields you want to send with the request (example: `array('screen_name' => 'usernameToBlock')`)
26
27 You really can't get much simpler than that. The above bullet points are an example of how to use the class for a POST request to block a user, and at the bottom is an example of a GET request.
28
29 Installation
30 ------------
31
32 **Normally:** If you *don't* use composer, don't worry - just include TwitterAPIExchange.php in your application.
33
34 ```php
35 require_once('TwitterAPIExchange.php');
36 ```
37
38 **Via Composer:**
39
40 ```bash
41 composer require j7mbo/twitter-api-php
42 ```
43
44 How To Use
45 ----------
46
47 #### Set access tokens ####
48
49 ```php
50 $settings = array(
51     'oauth_access_token' => "YOUR_OAUTH_ACCESS_TOKEN",
52     'oauth_access_token_secret' => "YOUR_OAUTH_ACCESS_TOKEN_SECRET",
53     'consumer_key' => "YOUR_CONSUMER_KEY",
54     'consumer_secret' => "YOUR_CONSUMER_SECRET"
55 );
56 ```
57
58 #### Choose URL and Request Method ####
59
60 ```php
61 $url = 'https://api.twitter.com/1.1/blocks/create.json';
62 $requestMethod = 'POST';
63 ```
64
65 #### Choose POST fields (or PUT fields if you're using PUT) ####
66
67 ```php
68 $postfields = array(
69     'screen_name' => 'usernameToBlock', 
70     'skip_status' => '1'
71 );
72 ```
73
74 #### Perform the request! ####
75
76 ```php
77 $twitter = new TwitterAPIExchange($settings);
78 echo $twitter->buildOauth($url, $requestMethod)
79     ->setPostfields($postfields)
80     ->performRequest();
81 ```
82
83 GET Request Example
84 -------------------
85
86 Set the GET field BEFORE calling buildOauth(); and everything else is the same:
87
88 ```php
89 $url = 'https://api.twitter.com/1.1/followers/ids.json';
90 $getfield = '?screen_name=J7mbo';
91 $requestMethod = 'GET';
92
93 $twitter = new TwitterAPIExchange($settings);
94 echo $twitter->setGetfield($getfield)
95     ->buildOauth($url, $requestMethod)
96     ->performRequest();
97 ```
98
99 That is it! Really simple, works great with the 1.1 API. Thanks to @lackovic10 and @rivers on SO!