Facebook SDK

<?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(‘470947919708420‘, ‘86b6acdec0ffcee0d40f8fcf8e6df2e2‘);

// 回调获取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 = ‘CAAGsUxt2QQQBAHiUPx01qRrjaFnZAZCFUpv8bvD3mDTWvNBXnlY7MYrRNk3VBTCKOhhnZA1Gj4dq8PhRsXZCtFQz66ivM3wqSmiSi7jP8ZBg1CPLvKxeJKUWszWV0cfZAoaHMk8CfqA6mjGXC5G1ZBfWCC7IQimExlujpWs1CwayjiAuqtPrZBQBevuyZB9ySEfZAUjMTC6SJsQD1pTp9MEaf8‘;
$access_token = ‘CAAGsUxt2QQQBALzjzpzP0gINsla10L4ZClsP5KhbCmsO0gf6VUSNPJYJHy7cOiYhwxqYZA0fDALEINcZBZBqGlKHZBXSdygYNUHCQskZC6DfkPmH0ivS6bqdTbdGwViFkiDHZCMw3evAWQ3BNINvMAgVaaWL1xvi2wqEVu70p90hIkt3xVgbbHnAnrfgPA7iCV7z5TXZCx5SKboWvd80JHdq‘;

$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();

  }

  

时间: 2024-11-06 12:47:47

Facebook SDK的相关文章

iOS Facebook SDK

iOS 使用 Facebook SDK 可以登录,分享,发布通知(Notifications)等. 首先下载 Facebook SDK.然后在 Facebook Developer 上注册自己的 app.注册后可以获得一个ID,需要写在 info.plist 文件里. 想要让这些功能对所有人开放(默认是 developer mode,只有自己和自己指定的 testers 可以使用),需要到 Facebook developer 上 app 的界面,在 settings 里填写 Contact E

【Android学习笔记】Facebook SDK准备条件

1.注册FaceBook的开发者账号,并创建应用. 2.下载和安装Android的Facebook SDK并导入进Eclipse 下载地址:https://developers.facebook.com/docs/android/?locale=zh_CN 3.在你的项目中正确导入lib,主要是要导入facebook的sdk,如下图: 4.然后打开res/values/strings.xml,添加字符串"facebook_app_id" 其中:appId 是在facebook上注册一个

Android集成Facebook sdk,Key Hashes生成步骤

如上图所示,使用facebook sdk进行login和share的时候,需要新建android平台,用到key hashes,生成方法有两种: 方法一: keytool -exportcert -alias 'Nom Nom Eat' -keystore nomnom.jks |openssl sha1 -binary | openssl base64 注意事项: 1,使用上述命令请替换-alias 和 -keystore后面的东西,只需要替换这两处即可. 2,-alias后面跟的是自己的ke

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

准备工作: 1.       Facebook帐号,国内开发者需要一个vpn帐号(网页可以浏览,手机可以访问) 2.       使用Facebook的SDK做应用需要一个Key Hashes值. 2.1   首先要有你的项目的签名文件 2.2   然后到http://gnuwin32.sourceforge.net/packages/openssl.htm下载 OpenSSL for Windows的Binaries版本,其他操作系统可以到http://www.openssl.org 的官网查

计算facebook sdk需要的key hashes

1. 下载openssl,在C盘创建openssl文件夹,解压下载的zip到openssl文件夹. 2. 找到debug.keystore. windows下在C:\Users\用户名\.android,mac下在~/.android/(mac下可能看不见,cmd里cd进去ls可以看见). 3. cd进debug.keystore所在目录,然后: keytool -exportcert -alias androiddebugkey -keystore debug.keystore | opens

实现Facebook SDK

Facebook SDK 可将来自应用的应用事件数据传递到 Facebook.借助应用事件数据,您可以准确追踪和衡量用户在应用中执行的操作. 如果您尚未完成此操作,请在应用设置中指定应用的平台.打开应用面板,选择设置 > 基本,然后前往平台版块. 如果您在多个平台上提供应用,则请为应用支持的每个平台重复此项设置.例如,如果您的应用同时支持 Android 和 iOS,则您应在应用设置中设置两次平台,第一次针对 Android SDK,第二次针对 iOS SDK. 此时,SDK 已设置完毕,而且您

如何解决Facebook SDK常见问题?

1.我安装了 Facebook SDK,但在广告管理工具中没有看到安装量报告?首先,前往 Facebook 分析页面:Facebook 分析.然后,点击左边导航栏中的"移动应用安装",查看最近安装报告以确认 SDK 安装正确.请注意,此面板显示的是付费安装和自然安装.此外,您可以在选择应用后查看应用面板,其中包含 iOS 和 Android 的时间戳"最近移动安装报告",以便您确认安装报告功能是否正常. 2.创建广告时,我无法选择应用请前往应用面板 并选择您想为之创

【德州扑克开发记录】ios调facebook sdk时无法打开手机上装的fb客户端

之前同事说facebook后台->setting的bundle id没有关联到打包的bundle id,可是对应了之后ios依然不能挂起客户端. 调用时lua控制台输出错误:This app is not allowed to query for scheme fbauth 在以下网址找到答案http://www.jianshu.com/p/e38a609f786e 工程->ios下有个Info.plist文件,选中并在LSApplicationQueriesSchemes一栏中把fbauth

利用 JavaScript SDK 部署网页版“Facebook 登录”

利用 JavaScript SDK 部署网页版"Facebook 登录" 通过采用 Javascript 版 Facebook SDK 的"Facebook 登录",用户可以使用 Facebook 凭据登录您的网页.即使您因为一些原因而无法使用我们的 JavaScript SDK,也一样可以实施"Facebook 登录". 要在不使用 JavaScript SDK 的情况下实施"Facebook 登录",请参阅手动构建登录流程