我正在尝试使用一个需要Facebook用户提供信息的网站,我正在使用PHP和JS SDK.
我有一个PHP函数:
public function isLoggedOnFacebook() {
$user = $this->_facebook->getUser();
if ($user) {
return $this->_facebook->api("/$user");
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
在一个持有SDK中的facebook对象的类中$this->_facebook.
然后在块上我这样做:
<?php if (!$this->isLoggedOnFacebook()): ?>
<div>
<fb:login-button show-faces="true" perms="email" width="500" />
</div>
<?php endif ?>
Run Code Online (Sandbox Code Playgroud)
并且FB JS环境已正确设置(我认为),因此它可以工作.因此,用户可以弹出并授权该站点.
问题是即使在用户授权应用程序后,$ user始终为0,意味着$facebook->getUser()始终返回0,然后列出用户的面孔,包括已登录的用户,但如果我拨打电话$facebook->api('/me')或其他什么,那么它将会抛出无效的令牌异常.
我已经看到了这个问题,但我还没有看到解决方案,我不知道问题出在哪里,我的想法已经用完了.
在应用程序部分的开发人员的Facebook页面上有一个网站选项卡,您可以在其中设置您的站点URL和站点域,我认为这是我的问题的原因,但我不知道究竟是什么字段应该包含.
我使用facebook开发了一个用于社交登录的wordpress插件.我正在使用facebook图形API /me来检索用户详细信息,在安装facebook登录插件时我的问题是某些网站我只是获取用户ID和名称
Array
(
[name] => John doe
[id] => 398463877009801
)
Run Code Online (Sandbox Code Playgroud)
但同样的代码也适用于某些网站.
Array
(
[id] => 398463877009801
[email] => something@gmail.com
[first_name] => John
[gender] => male
[last_name] => Doe
[link] => https://www.facebook.com/app_scoped_user_id/398463877009801/
[locale] => en_US
[name] => John Doe
[timezone] => 5.45
[updated_time] => 2015-05-03T11:24:16+0000
[verified] => 1
)
Run Code Online (Sandbox Code Playgroud)
对于只获得名称和ID的网站,可能存在错误的可能性?
我使用Facebook Javascript SDK获取oauth令牌并从FB检索所有数据:
function login() {
FB.api('/me', function (response) {
alert('You have successfully logged in, ' + response.name + ", " + response.email + "!");
});
Run Code Online (Sandbox Code Playgroud)
我检索所有基本信息(全名,工作,学校,ID ..)但不是EMAIL(response.email == undefined)!
我知道可以在基本信息中访问电子邮件(不要求'电子邮件'权限),我该怎么做?
是否可以组合元描述和开放图协议描述...
<meta name="description" content="My meta description copy." />
<meta property="og:description" content="My meta description copy." />
Run Code Online (Sandbox Code Playgroud)
...当它们包含相同的内容时成为一个?
<meta name="description" property="og:description" content="My meta description copy." />
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Facebook图形API搜索来搜索帖子
http://graph.facebook.com/search?q=iwatch&type=post&access_token=xxxxx
Run Code Online (Sandbox Code Playgroud)
它以JSON格式字段返回并用于包含类似:给定帖子的count.
在7月10日之后阅读了开发路线图(https://developers.facebook.com/roadmap/)以了解更改后,我被指示使用该summary=true参数,但我不知道如何使用搜索功能?
来自FB博客的路线图.
从'comments'中删除'count'图API连接我们正在删除Graph API中'comments'连接上未记录的'count'字段.
{id}/comments?summary=true如果您想要包含计数的摘要字段(现在称为'total_count'),请明确请求
我尝试了各种组合并搜索了示例但没有骰子.任何人都可以给我一些建议,如何让新的摘要= true在搜索网址中搜索帖子?
编辑:我已经设法在文档中得到了这么多:https: //developers.facebook.com/docs/graph-api/reference/v2.5/promotion-info
但是,没有任何链接到我能找到的文档中的{promotion-info-id}参数.
我将接受代码/ API引用的答案,这些代码/ API引用也不是特定于PHP的.
我正在尝试获取用户页面并发布符合预期的洞察信息,但是我还需要接收每1000达到(cpm),总花费和新粉丝成本等统计信息.
我能够收到所有用户页面和帖子,但洞察API不会返回任何相关费用.我查看了Marketing API,但无法弄清楚如何将页面和帖子链接到这些统计信息.如何从帖子和页面获取ad_account/ad_campaign值?我需要它们吗?感觉它的API很丢失.
我还需要每天获取统计数据,以计算每日和每月的变化.
我可以使用insights API获取大多数每日统计信息,但不附带任何费用,并且https://developers.facebook.com/docs/graph-api/reference/v2.5/page也不会https://developers.facebook.com /docs/graph-api/reference/v2.5/post不提供这样的东西.
$response = $this->facebook->get('/' . $pageId . '/insights?since=' . date('Y-m') . '-01', $token);
$data = $response->getGraphEdge()->asArray();
Run Code Online (Sandbox Code Playgroud)
此外,是否有一个Facebook沙箱,我可以使用它来提取虚拟成本或其他统计数据,因为我没有一个可以付费内容的页面.
我正在尝试编写一个程序来检索给定用户的"状态"(并且通过状态我的意思是他自己发布的内容,他写的任何内容,因为我最感兴趣的是文本状态)
我无法弄清楚这里的文档的差异https://developers.facebook.com/docs/reference/api/user/所以我不知道使用哪种连接类型; 饲料,帖子或状态
(我注意到的另一件事是状态需要access_token,而另外2个需要access_token仅用于非公共内容)
谢谢
我正在使用facebook-graph API提取Facebook帖子,现在问题是Image 几天后就过期了.
我有一个图像的以下URL
过期的旧图片网址
新图像工作URL是
我对这个问题很沮丧,它可能是什么解决方案?
我已经看到了多种尺寸,我不想在MySQL字段上浪费服务器内存,这为太多字符预留了太多空间.他们能获得的最大成就是什么?
当我尝试连接Facebook API时出现此错误
无效的范围:offline_access,publish_stream.此消息仅向开发人员显示.如果存在,您应用的用户将忽略这些权限.请阅读以下文档获取有效权限:https://developers.facebook.com/docs/Facebook-login/permissions
在我可以毫无问题地将我的网站与我的Facebook帐户连接之前,今天我得到了上面的错误,当我使用我的应用程序的其他Facebook帐户用户时,应用程序在我的Facebook帐户中我可以毫无问题地连接到我的网站.
facebook facebook-graph-api facebook-php-sdk facebook-graph-api-v2.3