哪个Facebook SDK与PHP 5.3一起使用?

时间:2015-02-18 08:02:24

标签: facebook-php-sdk

不幸的是,我已经达到了一个死胡同。由于各种遗留原因和其他原因,我无法将系统升级到PHP 5.4。 according to Facebook,我需要5.4来运行最新的SDK。

我愿意接受较低的SDK,但是:

  1. 如果我使用较旧的SDK,我会没事吗?
  2. 我应该使用哪种SDK?
  3. 奖金问题:

    1. 应该将作曲家路径更改为使用旧版SDK?目前我有:

      “facebook / php-sdk-v4”:“4.0。*”

4 个答案:

答案 0 :(得分:2)

您仍然可以使用旧版本:https://github.com/facebookarchive/facebook-php-sdk

api电话是一样的。新的只是推荐的。您甚至可以在没有任何SDK的情况下使用自己的CURL调用。

您应该使用最新版本,但更改您的提供商可能是个好主意。每个认真的提供者支持PHP 5.4应该是绝对最低的。

对于旧的PHP,你真的不需要作曲家。只需下载并放入您的服务器即可。

答案 1 :(得分:2)

您仍然可以使用已弃用的(但仍然有效)facebookarchive/facebook-php-sdk

我认为这不会很快改变,因为该代码在Github分叉了3000多次,并且可能仍有数千个应用程序使用它。

这里使用旧的Facebook PHP SDK(在我的服务器上使用PHP 5.3测试)成功获取用户信息 -

这是2016年,它仍然有效 - 包括Canvas回调和OAuth回调:

https://example.com/myapp/

别忘了 -

  1. Facebook console
  2. 获取应用ID和密码
  3. 在同一个地方注册<!DOCTYPE HTML> <HTML> <HEAD> <TITLE><?= TITLE ?></TITLE> <SCRIPT SRC="//ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></SCRIPT> <SCRIPT> $(document).ready(function() { //$.ajaxSetup({ cache: true }); $.getScript('//connect.facebook.net/en_US/sdk.js', function() { FB.init({ 'appId' : '<?= APP_ID ?>', 'xfbml' : false, 'cookie' : true, 'status' : true, 'version': 'v2.6' }); FB.login(function(response) { if (response.authResponse) { console.log('Fetching your information.... '); FB.api('/me?fields=id,first_name,gender', function(response) { console.log(response); }); } else { console.log('User cancelled login or did not fully authorize.'); } }); }); }); </SCRIPT> </HEAD> <BODY> <?= $body ?> <P><A HREF="<?= REDIRECT ?>?logout">Logout</A></P> </BODY> </HTML> Canvas回调(也可选择注册为有效的OAuth2重定向网址)
  4. 另一种选择是使用Facebook SDK for JavaScript(这里使用jQuery):

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context="com.example.abhishek.canddatastructureprograms.ProgramActivity">
    
    <TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tV1"
    android:text="CODE"
    android:textColor="@android:color/holo_blue_dark"
    android:textStyle="bold"
    android:paddingTop="10dp"
    android:paddingBottom="10dp" />
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    <HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    
    >
    
    <TextView
        android:padding="5dp"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:textColor="@android:color/black"
        android:scrollHorizontally="true"
    
        android:scrollbars="vertical|horizontal"
        android:id="@+id/writeCodeTV"
        android:text="CODE"
        />
    </HorizontalScrollView>
    </ScrollView>
    
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/tV2"
        android:text="OUTPUT"
    
        android:textColor="@android:color/holo_blue_dark"
        android:textStyle="bold"
        android:paddingBottom="10dp"
        android:paddingTop="10dp" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="5dp"
        android:scrollbars="horizontal|vertical"
        android:id="@+id/writeOutputTV"
        android:textColor="@android:color/black"
        android:text="CODE"
        />
    </LinearLayout>
    

    但是使用PHP SDK是优选的 - 因为信息已经存在(通过POST或HTTP重定向),并且因为每次加载页面时JavaScript SDK都显示登录弹出窗口或使页面变暗,实际上需要用户点击显示没有浏览器阻止它。

答案 2 :(得分:0)

不,使用旧版本的php-sdk,你不会冒任何风险。如上所述,您可以编写自己的卷曲而不使用SDK。这就是我的应用程序在2013年之前编写的方式。

答案 3 :(得分:-1)

这是旧版本:

{
    "require": {
        "facebook/php-sdk" : "3.2.3"
    }
}

然后:

php composer.phar require facebook/php-sdk:3.2.3