https://github.com/johnnythetank/aping-plugin-facebook
Facebook Plugin for apiNG
https://github.com/johnnythetank/aping-plugin-facebook
angular api aping aping-plugin facebook facebook-graph-api fb social-wall
Last synced: 7 months ago
JSON representation
Facebook Plugin for apiNG
- Host: GitHub
- URL: https://github.com/johnnythetank/aping-plugin-facebook
- Owner: JohnnyTheTank
- License: mit
- Created: 2015-11-18T18:21:35.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-07T20:00:59.000Z (almost 8 years ago)
- Last Synced: 2024-11-17T04:51:29.573Z (7 months ago)
- Topics: angular, api, aping, aping-plugin, facebook, facebook-graph-api, fb, social-wall
- Language: JavaScript
- Size: 55.7 KB
- Stars: 4
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[logo]: http://aping.io/logo/320/aping-plugin.png "apiNG Plugin"
![apiNG][logo][](https://gitter.im/JohnnyTheTank/apiNG?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://badge.fury.io/js/aping-plugin-facebook)
[](https://badge.fury.io/bo/apiNG-plugin-facebook)**_apiNG-plugin-facebook_** is a [Facebook Graph API](https://developers.facebook.com/docs/graph-api) plugin for [**apiNG**](https://github.com/JohnnyTheTank/apiNG).
# Information
* **Supported apiNG models: `social`, `image`, `video`, `event`**
* This plugin supports the [`get-native-data` parameter](https://aping.readme.io/docs/advanced#parameters)
* This plugin needs an [access token](#2-access-token) :warning:
* Used promise library: [angular-facebook-api-factory](https://github.com/JohnnyTheTank/angular-facebook-api-factory) _(included in distribution files)_# Documentation
1. [INSTALLATION](#1-installation)
1. Get file
2. Include file
3. Add dependency
4. Add plugin
2. [ACCESS TOKEN](#2-access-token)
1. Generate your `access_token`
2. Insert your `access_token` into `aping-config.js`
3. [USAGE](#3-usage)
1. Models
2. Requests
3. Rate limit## 1. INSTALLATION
### I. Get file
Install via either [bower](http://bower.io/), [npm](https://www.npmjs.com/), CDN (jsDelivr) or downloaded files:* `bower install apiNG-plugin-facebook --save`
* `npm install aping-plugin-facebook --save`
* use [CDN file](https://www.jsdelivr.com/projects/aping.plugin-facebook)
* download [apiNG-plugin-facebook.zip](https://github.com/JohnnyTheTank/apiNG-plugin-facebook/zipball/master)### II. Include file
Include `aping-plugin-facebook.min.js` in your apiNG application```html
```
### III. Add dependency
Add the module `jtt_aping_facebook` as a dependency to your app module:
```js
angular.module('app', ['jtt_aping', 'jtt_aping_facebook']);
```### IV. Add the plugin
Add the plugin's directive `aping-facebook="[]"` to your apiNG directive and [configure your requests](#ii-requests)
```html```
## 2. ACCESS TOKEN
### I. Generate your `access_token`
1. Login on [developers.facebook.com](https://developers.facebook.com/)
- Create an new app
- Choose website/webapp
2. Open [Graph API Explorer](https://developers.facebook.com/tools/explorer/)
- Press on `Graph API Explorer` dropdown button
- Choose your app
- Press on `Get Token` dropdown buton
- Choose `Get App Token`
- Copy generated `access_token`### II. Insert your `access_token` into `aping-config.js`
Create and open `js/apiNG/aping-config.js` in your application folder. It should be look like this snippet:
```js
angular.module('jtt_aping').config(['$provide', function ($provide) {
$provide.value("apingDefaultSettings", {
apingApiKeys : {
facebook: [
{'access_token':''}
],
//...
}
});
}]);
```:warning: Replace `` with your facebook `access_token`
## 3. USAGE
### I. Models
Supported apiNG models| model | content | support | max items
per request | (native) default items
per request |
|----------|---------|---------|--------|---------|
| `social` | last **posts** from users wall | full | `100` | `25` |
| `image` | last **images** from users wall | full | `100` | `25` |
| `video` | last **videos** from users wall | full | `100` | `25` |
| `event` | last **events** from users wall | full | `100` | `25` |**support:**
* full: _the source platform provides a full list with usable results_
* partly: _the source platfrom provides just partly usable results_### II. Requests
Every **apiNG plugin** expects an array of **requests** as html attribute.#### Requests by Page
| parameter | sample | default | description | optional |
|----------|---------|---------|---------|---------|
| **`page`** | `michaeljackson` | | name or id of any facebook page | no |
| **`items`** | `0`-`100` | `25` | items per request | yes |
| **`showAvatar`** | `true` | `false` | Use `true` for show users avatar as image if post has no own image | yes |Samples:
* `[{'page':'muenchen'}, {'page':'Berlin'}, {'page':'Koeln'}]`
* `[{'page':'muenchen', 'items':10}, {'page':'Berlin', 'items':70}]`### III. Rate limit
Visit the [official API rate limit documentation](https://developers.facebook.com/docs/graph-api/advanced/rate-limiting)
Here's how rate limiting on the Facebook Graph API works:
- Rate limiting is done on your Facebook AppId. If your app reaches a rate limit, all calls made for that app will be limited not just on a per-user basis.
- Rate limiting is calculated by taking the number of users your app had the previous day and adding today's new logins. This gives a base number of users that your app has.
- **Each app** is given an allotment of **200 API calls per user** in any given **60 minute window**.# Licence
MIT