标签: facebook-php-sdk

使用营销 API 上传离线转化数据时 Facebook 错误 #100

我正在使用 Facebook Marketing API 上传离线转化数据。

附加的代码一直工作到大约 2 周前,现在报告以下错误。

{"error":{"message":"(#100) 需要参数数据","type":"OAuthException","code":100,"fbtrace_id":"HkpzkWB1I5g"}}

我不明白为什么它应该在按预期工作这么长时间后停止工作。我不知道如何修复它。有任何想法吗?

$data=array();
			$data["match_keys"]["email"]=$emails;
			$data["match_keys"]["phone"]=$mobiles;
			$data["match_keys"]["fn"]=hash("sha256",$first_name);
			$data["match_keys"]["ln"]=hash("sha256",$last_name);
			$data["match_keys"]["ln"]=hash("sha256",$last_name);
			$data["match_keys"]["ct"]=hash("sha256",$suburb);
			$data["match_keys"]["zip"]=hash("sha256",$postcode);
			$data["match_keys"]["country"]=hash("sha256","Australia");
			$data["event_time"] = strtotime($order_date);
			$data["event_name"] = "Purchase";
			$data["currency"] = "AUD";
			$data["value"] = $order_total;
			$data['order_id']=$order_id;

$access_token = '<access_token_0>'; 

// PURCHASE DATA
$data_json = json_encode(array($data));
$fields = array();
$fields['access_token'] = $access_token;
$fields['upload_tag'] = uniqid() // You should set a tag here (feel free to adjust)
$fields['data'] = $data_json;



$ch = curl_init();
curl_setopt_array($ch, array(
  // Replace with your offline_event_set_id
  CURLOPT_URL => "https://graph.facebook.com/v2.12/1696501357346693/events", 
  CURLOPT_RETURNTRANSFER => …
Run Code Online (Sandbox Code Playgroud)

facebook facebook-graph-api facebook-javascript-sdk facebook-php-sdk

2
推荐指数
1
解决办法
2709
查看次数

使用 Facebook Graph API v3.1 PHP SDK 在 Facebook 个人资料/页面时间轴上发布

如您所知,Facebook 于 2018 年 7 月 26 日推出了新的 Graph API v3.1,这为开发人员改变了很多事情。我现在的问题之一是如何使用 Facebook Graph API v3.1 PHP SDK 在 Facebook 个人资料/页面时间轴上共享/发布?

提醒:Graph API v2.7 将于 2018 年 10 月 5 日弃用。请使用API 升级工具了解这可能会对您的应用产生什么影响。有关更多详细信息,请参阅变更日志

为此,我创建了一个新的应用程序,其中包含一些设置,如下面的屏幕截图所示。

在此输入图像描述

在此输入图像描述

在此输入图像描述

为此,我使用了下面提到的代码以及facebook-php-graph-sdk-5.x

fbConfig.php

<?php
if(!session_id()){
    session_start();
}

// Include the autoloader provided in the SDK
require_once __DIR__ . '/facebook-php-graph-sdk-5.x/autoload.php';

// Include required libraries
use Facebook\Facebook;
use Facebook\Exceptions\FacebookResponseException;
use Facebook\Exceptions\FacebookSDKException;

/*
 * Configuration and setup Facebook SDK
 */
$appId         = 'APP_ID'; //Facebook App ID
$appSecret …
Run Code Online (Sandbox Code Playgroud)

php facebook facebook-graph-api facebook-php-sdk

2
推荐指数
1
解决办法
5258
查看次数

Facebook应用程序有多个PHP页面

我正在使用PHP和Facebook SDK构建iframe应用程序.在第一页上有一个"下载"按钮,链接到第二页.在第二页,我使用以下代码:

 $signed_request = $facebook->getSignedRequest();
$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
if ($like_status) {
include('download.php');

}
else {
include('non-fan.php');
}
Run Code Online (Sandbox Code Playgroud)

我想仅为喜欢我们Facebook页面的人提供下载.由于某种原因,$ signed_request变量为空.我怎么解决这个问题?

php facebook facebook-php-sdk

1
推荐指数
1
解决办法
765
查看次数

如何使用php-sdk中的访问令牌获取用户配置文件信息

我想使用我已生成的访问令牌获取用户配置文件,如果访问令牌无效,则显示错误.有人可以帮忙吗?我想要PHP代码来处理这个问题.我在等....

php facebook facebook-graph-api facebook-php-sdk facebook-access-token

1
推荐指数
1
解决办法
3万
查看次数

Facebook SDK V4

我正在尝试将我的应用程序转换为最新版本的Facebook PHP SDK(V4).我有三个问题:第一个问题是每次调用(使用我的代码)都需要经历getLoginUrl()函数.这对我来说似乎很奇怪,因为会话的重点是不必为每次调用生成新代码,对吗?其次,我正在试图弄清楚如何访问数据 - 现在所有内容都包含在["backingData":protected]节点中...当我尝试访问时...给我一个致命错误:

 Cannot access protected property Facebook\GraphObject::$backingData
Run Code Online (Sandbox Code Playgroud)

最后,我假设我收到此错误,因为我没有请求正确的权限.正如您将在我的代码中看到的那样,我使用之前的'scope'数组语法作为getLoginUrl()函数中的参数...但它永远不会弹出并要求我接受权限.

这是我的代码:

require_once( 'fb2/FacebookSession.php' );
require_once( 'fb2/FacebookRedirectLoginHelper.php' );
require_once( 'fb2/FacebookRequest.php' );
require_once( 'fb2/FacebookResponse.php' );
require_once( 'fb2/FacebookSDKException.php' );
require_once( 'fb2/FacebookRequestException.php' );
require_once( 'fb2/FacebookAuthorizationException.php' );
require_once( 'fb2/GraphObject.php' );
require_once( 'fb2/FacebookOtherException.php' );

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\FacebookOtherException;

session_start();

FacebookSession::setDefaultApplication('522464134491111', '<removed>');

$helper = new FacebookRedirectLoginHelper('https://mediaalias.com/fb_apps/graph_search_2.php/');

try {
    $session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {

} catch(\Exception $ex) {

}

if ( …
Run Code Online (Sandbox Code Playgroud)

php facebook facebook-php-sdk

1
推荐指数
1
解决办法
4933
查看次数

有没有办法用Facebook PHP SDK V4以Json或数组格式获取Facebook响应?

例如一个请求

$request = new FacebookRequest($session, 'GET','/me/accounts?fields=id,name,access_token');
$response = $request->execute();
$arrayResult = $response->getGraphObject()->asArray();
print_r($arrayResult);
Run Code Online (Sandbox Code Playgroud)

回报

Array ( 
    [data] => Array ( 
        [0] => stdClass Object ( 
            [id] => 01010011100001111000111 #it's a fake id 
            [name] => MyAwesomePageName    #And a fake name 
        ) 
    ) 
    [paging] => stdClass Object ( 
        [next] => https://graph.facebook.com/v2.0/01010011100001111000111/accounts?fields=id,name&access_token=RanDoMAndFaaKKeEACCessToKen&limit=5000&offset=5000&__after_id=enc_IdOnOTKnoWWhAtThiSIs 
    ) 
)
Run Code Online (Sandbox Code Playgroud)

那是.我想检索数组中的所有响应,没有这些stdClass对象.就像它在api的上一个版本中一样.谢谢.

php facebook facebook-graph-api facebook-php-sdk

1
推荐指数
1
解决办法
7337
查看次数

CakePHP没有找到FacebookSession类的问题

我正在尝试使用Facebook lib v4创建一个简单的Facebook登录.

我正在关注Facebook指南而且我一直在begning,CakePHP没有找到FacebookSession类,请按照下面的事实:

FacebookSession类路径:

App/Lib/Facebook/src/Facebook
Run Code Online (Sandbox Code Playgroud)

在控制器中使用:

app::uses('FacebookSession', 'Facebook/src/Facebook');
Run Code Online (Sandbox Code Playgroud)

我认为问题出现在这个特定的Facebook Lib中,因为我正在使用WideImage类,并且我正在应用相同的逻辑来使用Class并且工作正常.

为了记录,我使用的是PHP 5.4

cakephp facebook-php-sdk

1
推荐指数
1
解决办法
1358
查看次数

使用Facebook PHP SDK在单个请求中检索多个字段

在用户注册后,我获取用户数据(姓名,生日,位置等)以及用户个人资料图像.

目前,我能做到这一点:/me?fields=picture,name,但返回的画面分辨率太低,所以我想取得与高度参数图片(如描述在这里).

我认为唯一的选择就是将它分成两个请求,这似乎效率低下:

  • 获取用户数据 me/?fields=name
  • 获取用户图片 me/picture?height=500&redirect=false

有没有办法将其合并为一个请求?

php facebook facebook-graph-api facebook-php-sdk

1
推荐指数
1
解决办法
3061
查看次数

无法将生日转换为字符串facebook php sdk

我正在测试facebook php sdk.我拥有'user_birthday,email'和默认用户个人资料的权限.这是代码.

<?php
if(isset($session)) {

  try {

$user_profile = (new FacebookRequest(
  $session, 'GET', '/me/'
))->execute()->getGraphObject(GraphUser::className());

   var_dump ($user_profile);
   echo $user_profile->getEmail();
   $_SESSION['user']=$user_profile->getName();
   $_SESSION['user_id']=$user_profile->getId();

    $_SESSION['profile_pic']="http://graph.facebook.com/".$_SESSION['user_id']."/picture";
   $_SESSION['gender']=$user_profile->getGender();

 $vars = get_object_vars ( $user_profile->getBirthday() );


 print_r ( $vars );


 } catch(FacebookRequestException $e) {

echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();

  }   

}        
?>
Run Code Online (Sandbox Code Playgroud)

输出是

    object(Facebook\GraphUser)[6]
    protected 'backingData' => 
    array (size=12)
    'id' => string 'xxxxxxxxxxx' (length=15)
    'birthday' => string '01/12/1990' (length=10)
    'email' => string 'xxxxx@gmail.com' (length=19)
    'first_name' => string …
Run Code Online (Sandbox Code Playgroud)

php facebook object facebook-php-sdk

1
推荐指数
1
解决办法
1304
查看次数

从Page Post Likes'summary'获取'total_count' - Facebook PHP SDK(已关闭)

我是PHP和Facebook PHP SDK的新手,我希望'like_count''likes' 'summary'Facebook页面帖子中获取.我当前的代码包含以下内容:

$response = $fb->get('/me/posts?fields=admin_creator,likes.limit(0).summary(true)&limit=30');
$getLikeCount = $response->getGraphEdge()->asArray();
foreach($getLikeCount as $likekey){
    if(isset($likekey['likes'])){
        var_export($likekey['likes']);
        foreach ($likekey['likes'] as $likekey){
            //echo $likekey['total_count'] . '<br>';
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

var_export($likekey['likes']);出口空白阵列,同时var_export($likekey['summary']);返回null.但是,在Graph API Explorer中,它返回以下内容:

{
      "admin_creator": {
        "name": "NAME",
        "id": "ID"
      },
      "id": "ID",
      "likes": {
        "data": [
        ],
        "summary": {
          "total_count": 1022,
          "can_like": true,
          "has_liked": false
        }
      }
    },
Run Code Online (Sandbox Code Playgroud)

我如何访问该'total_count'字段,因为通过我的方法访问它'likes'并且" summary'不工作".

编辑:使用getGraphEdge()->asArray();将无法工作,因为它不返回摘要数组.我会以某种方式获取值getDecodedBody();或其他方法.如果我使用$getLikeCount = $response->getDecodedBody();,使用此代码: …

php facebook facebook-graph-api facebook-php-sdk

1
推荐指数
1
解决办法
4463
查看次数