我的智慧结束了查询参数值应该是什么样子.因此,为了总结图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页面上发布消息:
$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命令的正确方法是什么?
所以我正在使用这个脚本循环来自给定页面的事件.突然间我发现它不再起作用了:(
我觉得这可能是一个错误,因为如果您选择任何页面,使用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) 我正在使用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->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()的目的是什么,因为它不会返回任何内容?
这让我很头疼.我有一个页面选项卡应用程序,其中数据库交互使用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来调用相关的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
"message":"OAuthException: (#200) Insufficient permission to post to target on behalf of the viewer","trace":"[]","code":0
在最近的Facebook维护操作之后,此消息开始随机出现.
我的用户在尝试共享其组时会产生此错误.
有什么想过如何解决这个问题?
我创建了一个用户必须使用用户名和密码登录的网站.我在很多网站上看过这些,我们可以通过facebook账号连接.我想在我的网站上添加相同内容.怎么可能,使用php sdk或javascript sdk?
我希望自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的朋友列表