Laravel Facebook image Upload
- Facebook ํ์ด์ง์ ๊ฐ์ธ ํผ๋์ ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ ํ ์ ์๋๋ก ๋์์ค๋ค.
- ํ ํฌ์คํ
์ ์ฌ๋ฌ ์ด๋ฏธ์ง๋ฅผ ๋์์ ์ฌ๋ฆด ์ ์๋ค.
Installation
ํ๋ก์ ํธ์ ์๋ composer.json์ ๋ค์์ ์ถ๊ฐ ํ์๊ฑฐ๋,, (*1)
```` php
{
"require": {
"pouu69/laravel-facebook-upload": "^1.0"
}
}, (*2)
composer ๋ฅผ ์ด์ฉํ์ฌ ์ค์น ํ ์ ์์ต๋๋ค.
`composer require pouu69/laravel-facebook-upload`
#ServiceProvider
`config/app.php`์ ์๋ ์ ๊ฐ์ด providers์ ๋ฑ๋ก์ ํฉ๋๋ค.
```` php
'providers' => [
pouu69\LaravelFacebookUpload\LaravelFacebookUploadServiceProvider::class,
]
Facade (optional)
Facade ๋ฑ๋ก์ ํตํด alias๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ถ๊ฐ ํ์๋ฉด ๋ฉ๋๋ค., (*3)
```` php
'aliases' => [
'FacebookUpload' => pouu69\LaravelFacebookUpload\LaravelFacebookUploadFacade::class,
];, (*4)
#IoC container
Laravel Ioc container๋ฅผ ํตํ์ฌ ์๋์ผ๋ก dependency ํ๊ฒ๋ค์ `LaravelFacebookUpload` ์ resloveํ ์ ์์ต๋๋ค.
```` php
// Directly from the IoC
$fb = App::make('pouu69\LaravelFacebookUpload\LaravelFacebookUpload');
// Or in PHP >= 5.5
$fb = app(pouu69\LaravelFacebookUpload\LaravelFacebookUpload::class);
// From a constructor
class FooClass {
public function __construct(pouu69\LaravelFacebookUpload\LaravelFacebookUpload $fb) {
// . . .
}
}
// From a method
class BarClass {
public function barMethod(pouu69\LaravelFacebookUpload\LaravelFacebookUpload $fb) {
// . . .
}
}
// Or even a closure
Route::get('/facebook/upload', function(pouu69\LaravelFacebookUpload\LaravelFacebookUpload $fb) {
// . . .
});
require
- "php": ">=5.5.0"
- "facebook/graph-sdk": "^5.0"
- "sammyk/laravel-facebook-sdk": "^3.0"
require
๋ชจ๋ apiํธ์ถ์ ํ์ด์ค๋ถ ๋ก๊ทธ์ธ ์ํ๋ก access_token์ด ๋ฐ๊ธ๋ ์ํ๋ก ์ธ์
์ ์ฝ์
๋ ์ํฉ์ด์ฌ์ผ ํ๋ค., (*5)
ํ์ด์ค๋ถ ํ์ด์ง ๋ฆฌ์คํธ ๊ฐ์ ธ์ค๊ธฐ
์์ ์ ๊ณ์ ์ด ์ํ ํ์ด์ค๋ถ ํ์ด์ง ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค., (*6)
```` php
// ํ์ด์ค๋ถ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์ง ํ๊ณ , (*7)
$fb = app(pouu69\LaravelFacebookUpload\LaravelFacebookUpload::class);
/** @return array ํ์ด์ง ๋ฆฌ์คํธ(์์ ์ ๋ณด๊ฐ ๋ด๊ฒจ์์) */
$fb->setTokenSession($sessionName); // access_token ์ ๊ฐ์ง๊ณ ์๋ session๊ฐ ์ ์ป๊ธฐ ์ํ์ฌ ์ธ์
๋ค์์ ์ค์
$pageList = $fb->getPageList(); //ํ์ด์ง ๋ฆฌ์คํธ ๊ฐ์ ธ์ค๊ธฐ, (*8)
##ํ์ด์ค๋ถ ํผ๋์ ์ด๋ฏธ์ง ์
๋ก๋
> ๊ฐ์ธ ํผ๋ ๋๋ ํ์ด์ง์ ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ ํ ์ ์๊ฒ ๋์์ฃผ๊ณ , ํ๋ฒ์ ํฌ์คํ
์ผ๋ก ์ฌ๋ฌ ์ด๋ฏธ์ง๋ฅผ ๋์์ ์
๋ก๋ ํฉ๋๋ค.
```` php
// request Data set
$data = [
"whereShare" : "", // 'me'(๊ฐ์ธ) ๋๋ 'page'(ํ์ด์ง) ๋ก ๊ตฌ๋ถ,
"accessId" : "", // 'me' ๋๋ getPageList() ๋ฅผ ํตํด ๋ฐ์ page์ 'access_token'(ํ์ด์ง๋ก ์
๋ก๋ํ ๋๋ ํ์ด์ง access_token์ด ํ์)
"message" : "" // feed์ ๋ณด์ฌ์ง ๋ฉ์ธ์ง,
"url" : [] // ์
๋ก๋ ํ ์ด๋ฏธ์ง url's
];
$fb->setTokenSession($sessionName); // access_token ์ ๊ฐ์ง๊ณ ์๋ session๊ฐ ์ ์ป๊ธฐ ์ํ์ฌ ์ธ์
๋ค์์ ์ค์
$result = $fb->upload($data); //์
๋ก๋ ํ๊ธฐ
// result ๋ฐํ ๊ฐ
$result = [
'status' => '', // 'done' ๋๋ 'error'
'message' => '',
'data' => ''
];
๋ก๊ทธ์ธํ ์ฌ์ฉ์ Permission ๊ฐ์ ธ์ค๊ธฐ
์ต์ด ๋ก๊ทธ์ธ ํ์ฌ ์ฑ์ด ์์ฒญํ๋ ๊ถํ์น์ธ(๋๋ ์ทจ์) ํ๋ ๊ฒ๋ค ๊ถํ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ ธ์จ๋ค., (*9)
php
$fb->setTokenSession($sessionName);
$array = $fb->getPermissions(); //[["email","granted"],["public_profile","granted"]];, (*10)
License
The MIT License (MIT)., (*11)