<?php
session_start();
header('Content-type:text/html; charset=UTF-8'); require_once './facebook-php-sdk-v4-4.0-dev/autoload.php'; use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper; FacebookSession::setDefaultApplication('3455677266264', 'nnvu8883332fvg550d40f8fcf8e6df2e2'); // 回调获取session
$helper = new FacebookRedirectLoginHelper('http://www.adtuu-server.com/facebook/callback.php'); try {
$session = $helper->getSessionFromRedirect(); } catch(FacebookRequestException $ex) {
// When Facebook returns an error
echo '1:';
var_dump($ex->getMessage());
} catch(\Exception $ex) {
// When validation fails or other local issues
echo '2:';
var_dump($ex->getMessage());
} if ($session) {
// Logged in 这个token返回的 有效期节点没有值
echo $access_token = $session->getToken();
var_dump($session); /* ここで有効期限を延長させてます 60天token有效期*/
$longSession = $session->getLongLivedSession();
$accessToken = $longSession->getToken(); echo '<br />' . $accessToken;
var_dump($longSession); }
exit; //https://developers.facebook.com/docs/graph-api/reference/v2.1/user //$access_token = 'as3s4de4vM3wqSmiSi7jP8ZBg1CPLvKxeJKUWszWV0cfZAoaHMk8CfqA6mjGXC5G1ZBfWCC7IQimExlujpWs1CwayjiAuqtPrZBQBevuyZB9ySEfZAUjMTC6SJsQD1pTp9MEaf8';
$access_token = '2cjiktwxzjzpzP0gINsla10L4ZClsP5KhbCmsO0gf6VUSNPJYJHy7cOiYhwxqYZA0fDALEINcZBZBqGlKHZBXSdygYNUHCQskZC6DfkPmH0ivS6bqdTbdGwViFkiDHZCMw3evAWQ3BNINvMAgVaaWL1xvi2wqEVu70p90hIkt3xVgbbHnAnrfgPA7iCV7z5TXZCx5SKboWvd80JHdq'; $session = new FacebookSession($access_token);
try { $user_profile = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className()); echo "Name: " . $user_profile->getName(); } catch(FacebookRequestException $e) { echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage(); } try {
$friends = (new FacebookRequest(
$session, 'GET', '/me/friendlists'
))->execute()->getGraphObject(GraphUser::className());
var_dump($friends);
} catch (Exception $e) { var_dump($e);
} exit; try { $response = (new FacebookRequest(
$session, 'POST', '/me/feed', array(
'link' => 'http://www.adtuu.com',
'message' => 'Hi, Adtuu !!!'
)
))->execute()->getGraphObject(); echo "Posted with id: " . $response->getProperty('id'); } catch(FacebookRequestException $e) { echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage(); } try { // Upload to a user's profile. The photo will be in the
// first album in the profile. You can also upload to
// a specific album by using /ALBUM_ID as the path
$response = (new FacebookRequest(
$session, 'POST', '/me/photos', array(
'source' => new CURLFile('/Users/zhoutingze/webroot/facebook/post.jpg', 'image/jpeg'),
'message' => 'User provided message'
)
))->execute()->getGraphObject(); // If you're not using PHP 5.5 or later, change the file reference to:
// 'source' => '@/path/to/file.name' echo "Posted with id: " . $response->getProperty('id'); } catch(FacebookRequestException $e) { echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage(); } try { $response = (new FacebookRequest(
$session, 'POST', '/me/feed', array(
'link' => 'http://www.baidu.com/img/bd_logo1.png',
'message' => 'Hi, Adtuu !!!'
)
))->execute()->getGraphObject(); echo "Posted with id: " . $response->getProperty('id'); } catch(FacebookRequestException $e) { echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage(); }

  

Facebook SDK的更多相关文章

  1. SDK接入(1)之Android Facebook SDK接入

    SDK接入(1)之Android Facebook SDK接入 由于游戏已上线,且处于维护阶段,所以有空写写各种SDK接入过程和遇到的问题,也当作一种工作总结.SDK接入主流分为这么几类,登录.支付. ...

  2. 在Android上实现使用Facebook登录(基于Facebook SDK 3.5)

    准备工作: 1.       Facebook帐号,国内开发者需要一个vpn帐号(网页可以浏览,手机可以访问) 2.       使用Facebook的SDK做应用需要一个Key Hashes值. 2 ...

  3. 计算facebook sdk需要的key hashes

    1. 下载openssl,在C盘创建openssl文件夹,解压下载的zip到openssl文件夹. 2. 找到debug.keystore. windows下在C:\Users\用户名\.androi ...

  4. iOS Facebook SDK

    iOS 使用 Facebook SDK 可以登录,分享,发布通知(Notifications)等. 首先下载 Facebook SDK.然后在 Facebook Developer 上注册自己的 ap ...

  5. FaceBook SDK登录功能实现(Eclipse)

    由于公司游戏要进行海外推广,所以要我们接入FBSDK 实现登录,分享,投放,所以写这篇文章,也算是个工作总结.1.资料 (1).FB SDK github源码地址为 (2): [FB SDK中文接入文 ...

  6. 集成Facebook SDK之Facebook登录

    前言 这几天应公司需求,需要在项目中接入facebook的登录,现在闲下来后再次巩固一下! 准备工作 保证自己的网络已经翻墙,能够进入Facebook网页 准备一个FB的开发者账号,如果没有可以免费申 ...

  7. 集成Facebook SDK

    1. 下载SDK https://developers.facebook.com/docs/ios?locale=zh_CN 2. 如何集成 https://developers.facebook.c ...

  8. 浅谈 facebook .net sdk 应用

    今天看了一篇非常好的文章,就放在这里与大家分享一下,顺便也给自己留一份.这段时间一直在学习MVC,另外如果大家有什么好的建议或者学习的地方,也请告知一下,谢谢. 这篇主要介绍如何应用facebook ...

  9. 应用facebook .net sdk

    1.本博客主要介绍如何应用facebook .net SDK,实现发帖.点赞.上传照片视频等功能,更多关于facebook API,请参考:https://developers.facebook.co ...

随机推荐

  1. 对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)--转

    出处:http://blog.csdn.net/xxd851116/archive/2009/06/25/4296866.aspx [前面的话] 在网上经常看到有人对request.getSessio ...

  2. PHP.8-HTML+CSS(二)-HTML详解

    HTML+CSS HTML参考手册[http://www.w3school.com.cn/tags/index.asp] 0.HTML主体标记 代码分为三部分编写 <html> 是网页文件 ...

  3. CAML query for Group by count and data

    CAML query for Group by count and data Company Category Product Name Microsoft Developer Visual Stud ...

  4. git 在windows上 生成ssh公钥

    今天上传代码到服务器时,报如下错误:   上网搜了一下,应该是ssh过期了.我们就来生成新的ssh公钥吧.   1. 打开git bash   2. 输入命令:  ssh-keygen -t rsa ...

  5. java中的静态方法

    静态方法是属于类的,内存必须为它分配内存空间,这个空间一直由静态方法占用,内存管理器不会由于静态方法没有被调用而将静态方法的存储空间收回,这样如果将所有的方法都声明为静态方法,就会占用大量的内存空间, ...

  6. oracle锁

    1.概念 数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁). 当数据对象被加上排它锁时,其他的事务不能对它读取和修改:加了共享锁的 ...

  7. truncate 函数用法示例

    --Oracle trunc()函数的用法 /**************日期********************/ select trunc(sysdate) from dual --2015- ...

  8. tomcat 安装

    升级系统之后很长一段时间没有用tomcat(主要是没做东西),这两天要开始干活了,发现竟然没法发用了....ok,重新整一遍.算是温习. 上次所有环境的搭建基本都是师兄帮我,自己做得东西很少,这次就正 ...

  9. Jersey(1.19.1) - Sub-resources

    @Path may be used on classes and such classes are referred to as root resource classes. @Path may al ...

  10. Git CMD - show: Show various types of objects

    命令格式 git show [options] <object>…​ 实例 a) 查看某次提交的信息 $ git show <commit> b) 查看远程仓库的信息. git ...