标签: facebook-php-sdk

Facebook用于图谱API的新PHP SDK - 多查询

我的智慧结束了查询参数值应该是什么样子.因此,为了总结图API库中的多个查询,以下是执行它的代码方法,据我所知.

$param = array(
 'method' => 'fql.multiquery',
 'queries' => $multiQuery,
 'callback' => '');
$queryresults = $facebook->api($param);
Run Code Online (Sandbox Code Playgroud)

在Facebook的新PHP SDK库中使用这种方法,有没有人使这个工作?如果是这样,你可以举例说明如何构建$multiQuery变量的完整值?

我已经花了几天时间来解决这个问题,而且我只找到了旧的PHP库的exmaples.

facebook fql.multiquery facebook-php-sdk

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

使用Graph API删除facebook帖子 - 无法使其正常工作

我正在使用以下内容在我的Facebook页面上发布消息:

$attachment =  array(
    'access_token' => $access_token,
    'message' => 'This is a test Message 4:',   
    'name' => "This is a test Name 4",
    'link' => "http://slashdot.org/",
    'description' => "This is a test Description 4"
);

$ret_code=$facebook->api('/me/feed', 'POST', $attachment);
Run Code Online (Sandbox Code Playgroud)

这非常有效.

如何使用facebook GRAPH api删除相同的帖子?我阅读了文档,它说要发布一个类似的POST:

https://graph.facebook.com/COMMENT_ID?method=delete

要测试我使用提交按钮以简单的形式设置它,将数据发布到https://graph.facebook.com/COMMENT_ID?method=delete(用COMMENT_ID替换原始发布调用返回的11111111111_111111111111 id.返回"此API调用需要有效的app_id".

发出DELETE命令的正确方法是什么?

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

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

Facebook图形API循环通过分页

所以我正在使用这个脚本循环来自给定页面的事件.突然间我发现它不再起作用了:(

我觉得这可能是一个错误,因为如果您选择任何页面,使用access_token查看事件,则无法获取"下一个"分页URL的任何数据.例如,在apigee.com上试试https://graph.facebook.com/evenightclub/events

有任何想法吗?

($ fid是页面对象ID)

    try {
    $facebook = new Facebook(array(
      'appId'  => '<removed>',
      'secret' => '<removed>',
    ));
    $access_token = $facebook->getAccessToken();

    $events_data = array();
    $offset = 0;
    $limit = 5000;  
    $params = array('access_token' => $access_token);

    //fetch events from Facebook API
    $data = $facebook->api("$fid/events/?limit=$limit&offset=$offset", $params);
    $events_data = array_merge($events_data, $data["data"]);

    //loop through pages to return all results
    while(in_array("paging", $data) && array_key_exists("next", $data["paging"])) {
        $offset += $limit;
        $data = $facebook->api("$fid/events/?limit=$limit&offset=$offset", $params);
        $events_data = array_merge($events_data, $data["data"]);
    }}
Run Code Online (Sandbox Code Playgroud)

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

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

无法连接到2a03:2880:10:1f03:face:b00c:0:26:无法从Facebook PHP SDK访问网络

我正在使用Facebook Current PHP SDK.我的应用运行正常.BUK从今天起任何api调用返回无法连接到2a03:2880:10:1f03:face:b00c:0:26:网络无法访问.

这是我的代码

  try {
    $fbme = $facebook->api('/me');
  } catch (Exception $e) {        
  echo $e->getMessage();        
  }
Run Code Online (Sandbox Code Playgroud)

有人有这个问题吗?我怎样才能解决这个问题?

facebook-graph-api facebook-php-sdk

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

使用setExtendedAccessToken()获取长期访问令牌将返回短期令牌

我尝试使用扩展的长期访问令牌

$facebook->setExtendedAccessToken();
$access_token = $facebook->getAccessToken();
Run Code Online (Sandbox Code Playgroud)

查看SDK后,我发现setExtendedAccessToken()函数正在设置长期访问令牌

protected static $kSupportedKeys =
array('state', 'code', 'access_token', 'user_id');
Run Code Online (Sandbox Code Playgroud)

$this->setPersistentData(
  'access_token', $response_params['access_token']
);
Run Code Online (Sandbox Code Playgroud)

和getAccessToken()从中返回短期访问令牌

protected $accessToken
Run Code Online (Sandbox Code Playgroud)

那么setExtendedAccessToken()的目的是什么,因为它不会返回任何内容?

php facebook-php-sdk

8
推荐指数
2
解决办法
8262
查看次数

"必须使用活动访问令牌"(2012年12月)&&为Ajax调用设置Facebook PHP-SDK的正确方法以获取用户ID

这让我很头疼.我有一个页面选项卡应用程序,其中数据库交互使用facebook-user-id来分配和保存数据,还用于检查用户权限.在弱势之前,一切都运行良好,但现在随着即将到来的12月变化,这个设置不再起作用了:

config.php文件:

$facebook = new Facebook( array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
)); 
Run Code Online (Sandbox Code Playgroud)

index.php: 包含config.php并获取签名请求(对问题不重要)

javascript.js: 调用read-user-status.php并处理数据

read-user-status.php: 给json-response,包括config.php并调用$ facebook - > getUser() - 函数来获取uid

即使在页面加载后直接从index.php调用,我有时会得到uid,有时我也不会.勉强足够我通常需要等待一段时间,直到我重新加载页面然后再次工作.但情况并非总是如此.这一切对我来说都很奇怪.

编辑:应该提到这个电话:

$uid = $facebook -> getUser();
if ($uid) {
    try {
       // Proceed knowing you have a logged in user who's authenticated.
       $user_profile = $facebook -> api('/me');
    } catch (FacebookApiException $e) {
       error_log($e);
       $uid = FALSE;
     echo "EXCEPTION $e";
   }
}
Run Code Online (Sandbox Code Playgroud)

给出"EXCEPTION必须使用活动访问令牌来查询有关当前用户的信息".

我知道那里有很多类似的问题,但是没有一个答案对我的特殊问题(可能是新的破坏性改变)有问题.

EDIT2:我现在认为它是一个sdk-bug(https://developers.facebook.com/bugs/238039849657148,感谢CBroe).对于解决方案的任何建议当然都是非常受欢迎的.

编辑3,临时解决方案 每次发出ajax请求时,都会发布从FB.getLoginStatus或FB.login获取的令牌,并在php文件中读出并通过$ …

facebook-php-sdk

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

如何为服务器端刷新facebook访问令牌(在facebook-php SDK中)?

我正在使用Facebook PHP SDK来调用相关的API来发布和获取数据.目前我正在数据库中保存用户访问令牌,但它会在60天后过期.如何刷新用户访问令牌?

1.我什么时候需要刷新访问令牌?它到期后还是之前?

2.刷新访问令牌的最佳方法是什么?

3.我的用户是否需要再次登录才能刷新访问令牌?

这是我用来扩展访问令牌的功能.但到期时间保持不变.

public function getExtendedAccessToken($access_token)
    {       

        $token_url="https://graph.facebook.com/oauth/access_token";
        $params=array('client_id'=>self :: appId,'client_secret'=>self :: appSecretId,'grant_type'=>'fb_exchange_token','fb_exchange_token'=>$access_token);

          $response = $this->curl($token_url,$params);                  
          $response = explode ('=',$response);
          $response = explode ('&',$response[1]);
          $response = $response[0];       
          return $response;

    }
Run Code Online (Sandbox Code Playgroud)

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

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

在最近的Facebook维护之后尝试发布到群组时,oAuth异常#200

"message":"OAuthException: (#200) Insufficient permission to post to target on behalf of the viewer","trace":"[]","code":0

在最近的Facebook维护操作之后,此消息开始随机出现.

我的用户在尝试共享其组时会产生此错误.

有什么想过如何解决这个问题?

facebook facebook-php-sdk

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

如何使用facebook id登录网站

我创建了一个用户必须使用用户名和密码登录的网站.我在很多网站上看过这些,我们可以通过facebook账号连接.我想在我的网站上添加相同内容.怎么可能,使用php sdk或javascript sdk?

javascript php facebook facebook-php-sdk

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

获取在时间轴上互动的朋友 - Facebook

我希望自16年1月1日起在我的时间轴上收到喜欢我帖子的朋友列表,故事的隐私设置为FRIENDS.所以我尝试了这个Graph API,但是我得到了包含朋友和一些非朋友个人资料的个人资料列表!
我想只获取朋友个人资料列表.

me/posts?fields=likes{name},privacy=ALL_FRIENDS&since=2016-01-01
Run Code Online (Sandbox Code Playgroud)

主要目标是创建可能没有taggable或邀请API的朋友列表

facebook facebook-graph-api facebook-php-sdk

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