我创建了一个用户必须使用用户名和密码登录的网站.我在很多网站上看过这些,我们可以通过facebook账号连接.我想在我的网站上添加相同内容.怎么可能,使用php sdk或javascript sdk?
这听起来像一个非常简单的问题,但我找不到答案.
我有一篇来自textarea的帖子.我想使用当前的facebook php库来执行以下操作...
$description = $_POST['textarea_description'];
//magic happens
$attachment = array(
'access_token' => $token,
'message' => "$title",
'picture' => "$image_url",
'link' => "$action_link",
'name' => "$action_label",
'caption' => "$caption",
'actions' => $action_json,
'description' => "$description",
);
$facebook->api('/'.$my_uid.'/feed', 'POST', $attachment);
Run Code Online (Sandbox Code Playgroud)
并让它工作.现在它似乎忽略了
<br> <br /> \n \r \n\r \r\n
Run Code Online (Sandbox Code Playgroud)
但我相信我可能已经做了一些事情来搞砸我的测试......我只需要用有效的东西取代'魔术发生'.现在它只是将我投掷的所有新行转换为空格.非常令人沮丧.facebook论坛上有人建议添加所有内容......但这对我来说似乎不起作用
谢谢,-FT
我已经尝试了两天,将从Twitter搜索收集的消息自动发布到我的一个Facebook页面 - 即通过cronjob.
推特部分很好,但对于我的生活,我无法让Facebook部分工作.
问题是我的脚本工作......直到它没有,通常access_token几个小时后就会过期.
现在我有这样的信息:
#200) Posts where the actor is a page cannot also include a target_id.
我在各种SO线程上尝试了许多建议.问题是:Facebook API似乎经常发生变化,而以前的工作方式却没有.
关于如何使其可靠地工作的任何想法和建议都是受欢迎的.
这是我到目前为止的代码.我创建了一个facebook应用程序,并使用FB Graph Explorer和'/ me/account'请求生成了一个访问令牌.
require('config.inc.php');
require('_classes/facebook-php-sdk/src/facebook.php');
// Connect to facebook
$facebook = new Facebook(array(
'appId' => FB_APP_ID,
'secret' => FB_APP_SECRET,
));
// get the message
$msg_body = array(
'message' => $message->message."\n".'(via http://twitter.com/'.$message->author.')',
'access_token' => FB_ACCESS_TOKEN
);
// Post to Facebook
$fb_result=0;
try {
$postResult = $facebook->api('/'.PAGEID.'/feed', 'post', $msg_body );
} catch (FacebookApiException $e) {
echo …Run Code Online (Sandbox Code Playgroud) StackOverflow和Untappd这样的网站如何"强制"用户接受他们的权限?
当我尝试使用JavaScript SDK时,我一直在使用范围对象来请求电子邮件地址,但我一直看到"编辑您提供的信息",允许用户不提供他们的电子邮件地址.我甚至尝试过手动构建登录流程,结果相同.
图片:

由于我们允许用户通过Facebook在网站上注册,我们依赖于电子邮件地址在我们的数据库中创建一个帐户.
然而像StackOverflow和Untappd这样的网站没有提供这样的选项,我不得不接受这些权限.
那秘密是什么?我该如何实现这一目标?这是我在某个地方俯瞰的场景吗?还是需要"批准"?
我需要在Facebook页面上发布消息.具体来说,我想通过发布cron.
以下是API文档所说的内容:
页面访问令牌 - 这些访问令牌与用户访问令牌类似,不同之处在于它们为读取,写入或修改属于Facebook页面的数据的API提供权限.要获取页面访问令牌,您需要先获取用户访问令牌并询问manage_pages权限.获得用户访问令牌后,您将通过Graph API获取页面访问令牌.
如何在没有页面回调的情况下获取用户访问权限和页面访问权限令牌?这可能吗?
这是我的登录脚本:
<?php
// session não são nativas, precisa iniciar.
session_start();
date_default_timezone_set('America/Sao_Paulo');
require_once '/home/mywebsite/lab/vendor/autoload.php';
// por algum motivo não está aceitando a referência via __DIR__
//require_once __DIR__ . '/vendor/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => '999999999999999',
'app_secret' => 'removed',
'default_graph_version' => 'v2.4',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email']; // Optional permissions
//$loginUrl = $helper->getLoginUrl('https://www.mywebsite.com.br/lab/?secao=meusPedidos', $permissions);
$loginUrl = $helper->getLoginUrl('https://www.mywebsite.com.br/lab/fb-callback.php', $permissions);
echo '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a>';
?>
Run Code Online (Sandbox Code Playgroud)
这是我的回调脚本:
<?php
session_start();
date_default_timezone_set('America/Sao_Paulo');
require_once '/home/mywebsite/lab/vendor/autoload.php';
$fb = new Facebook\Facebook([ …Run Code Online (Sandbox Code Playgroud) Facebook推出了Facebook页面的商店部分.我需要通过javascript sdk管理我的页面的商店部分,但我无法找到propoer文档或参考这样做.我知道如何通过使用FB.api的post方法通过sdk来管理或更新页面的简单字段:
FB.api(/page_id_and_post_method, function(response) {
console.log("PAGEEEEEE DETAILS", response);
});
Run Code Online (Sandbox Code Playgroud)
所以,问题是我找不到该"商店"部分的正确字段名称以便更新它.
那么如何通过sdk/api阅读/更新我的页面的"商店"部分,就像shopify所做的那样,如下所示:
https://www.facebook.com/Womansera/shop?ref=page_internal&rid=221671794535129&rt=9
facebook facebook-graph-api facebook-javascript-sdk facebook-php-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的朋友列表
我正在为自己创建一个仪表板,帮助我跟踪我正在运行的Facebook广告.
我无法弄清楚的是:
如何为所有处于活动状态的广告检索一系列广告ID,或者在我没有采取进一步措施后可以很快恢复活动的广告?
换句话说,我希望我设置为"有效"并且存在于有效的广告和广告系列中的所有广告(因此这些广告现在正在播放)... 加上我认为的所有广告都是有效的,但是Facebook已经设置了另一个状态,例如Pending Review(并将很快回归Active).
我在下面有一些代码,但问题是它也偶然包含待定广告 - 一旦经过Facebook审核和批准 - 将处于非活动状态而非活动状态(因为我已经设置了这种方式).我不希望这类广告包含在我的报告中.
我的报告应该只向我展示一些我积极花钱或有可能在FB批准后立即花钱的报告.
我想我明白之间的差别configured_status,并effective_status在AbstractArchivableCrudObjectFields,但我不知道这是足以帮助我,因为我有很多设置为活动是内Adsets是无效的广告的,我不希望看到这些上市我的报告.
有什么建议?
public function getActiveAdIds() {
$key = 'activeAdIds';
$adIdsJson = Cache::get($key);
if ($adIdsJson) {
$adIds = json_decode($adIdsJson);
} else {
$adsResponse = $this->getAdsByStatus([ArchivableCrudObjectEffectiveStatuses::ACTIVE, ArchivableCrudObjectEffectiveStatuses::PENDING_REVIEW]);
$ads = $adsResponse->data;
$adIds = [];
foreach ($ads as $ad) {
$adIds[] = $ad->id;
}
$adIdsJson = json_encode($adIds);
Cache::put($key, $adIdsJson, 1);
}
return $adIds;
}
public function getAdsByStatus($statuses) {
$params = …Run Code Online (Sandbox Code Playgroud) php facebook-ads-api facebook-php-sdk facebook-insights facebook-marketing-api
首先,解释一下情况:
user_events(以下屏幕截图){user_id}/工作并返回基本配置文件。{user_id}/permissions工作并返回权限(inc user_events,下面的屏幕截图){user_id}/events总是“有效”,但返回且为空数组。我尝试用'me'代替登录的fb_user_id进行测试,并得到相同的空数据结果。如果我使用自己的管理员测试帐户进行测试,则user_events数据始终填充有数据。我尝试使用的参数少于/没有以下屏幕截图,对于测试用户而言一切正常,但对于实时用户而言则无效。
非常感谢您的帮助!
屏幕截图: