我正在尝试使用Composer安装Facebook PHP SDK.这就是我得到的
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for facebook/php-sdk dev-master -> satisfiable by facebook/php-sdk[dev-master].
- facebook/php-sdk dev-master requires ext-curl * -> the requested PHP extension curl is missing from your system.
Run Code Online (Sandbox Code Playgroud)
问题是,我启用了curl扩展(在php.ini中取消注释).当我跑步时phpinfo(),它表示它已启用.我只知道当我跑步时$ php -m,"卷曲"线丢失但我不知道该怎么办.
我在Win8上运行2.4,我在cmd.exe中运行composer.
由于offline_access 权限是在Facebook的弃用认证流程,我们有问题歌厅所谓的长期生活的访问令牌没有这个权限.
在Facebook的文档中有关它的弃用说,服务器端OAuth生成的访问令牌将是长期存在的,但事实并非如此.
我错过了什么吗?应用设置中的一些设置?我需要使用一些特殊代码来延长访问令牌的到期时间?据我所知,对于服务器端身份验证,getAccessToken()当用户登录时,可以通过PHP SDK 的方法访问访问令牌.
php facebook-graph-api oauth-2.0 facebook-oauth facebook-php-sdk
编辑:我已经设法在文档中得到了这么多: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沙箱,我可以使用它来提取虚拟成本或其他统计数据,因为我没有一个可以付费内容的页面.
当我尝试连接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
还有其他人看到过这种情况吗?
我正在使用Facebook PHP SDK和一些Javascript构建一个Facebook画布应用程序.
现在当我带领用户完成OAuth身份验证流程时,我注意到浏览器中的URL会自动附加到此"#_=_",因此我的URL开始如下所示:
http://apps.facebook.com/xxxxxxxxxxxx/#_=_
Run Code Online (Sandbox Code Playgroud)
当我重定向到应用程序配置文件页面时,URL是这样的:
http://www.facebook.com/apps/application.php?id=xxxxxxxxxxxx#_=_
Run Code Online (Sandbox Code Playgroud)
我正在重定向使用
echo "<script type='text/javascript'>top.location.href='$appcanvasurl';</script>"
Run Code Online (Sandbox Code Playgroud)
到画布URL,和
echo "<script type='text/javascript'>top.location.href='$appprofurl';</script>"
Run Code Online (Sandbox Code Playgroud)
对于应用资料页面.
那为什么会#_=_附加?
更新:
根据跟踪器上的这个错误,这是设计的,并给出一个值redirect_uri不会改变这一点.
并根据该页面上的官方Facebook回复(必须登录Facebook查看帖子):
这被标记为"按设计",因为它可以防止潜在的安全漏洞.
某些浏览器会将URL中的哈希片段附加到已重定向到的新URL的末尾(如果新URL本身没有哈希片段).
例如,如果example1.com返回到example2.com的重定向,那么访问example1.com#abc的浏览器将转到example2.com#abc,而example1.com上的散列片段内容可以访问example2上的脚本.COM.
由于可以将一个auth流重定向到另一个,因此可以从一个应用程序访问另一个应用程序的敏感身份验证数据.
通过将新的哈希片段附加到重定向URL来缓解此问题,以防止此浏览器行为.
如果关注结果URL的美学或客户端行为,则可以使用window.location.hash(甚至是您自己的服务器端重定向)来删除有问题的字符.
我正在使用Facebook SDK的最新版本(虽然我不确定,但它可以连接到名为'graph API'的东西).我已经调整了Facebook的示例代码,让我连接到Facebook并且有效...但我无法获得我朋友的列表.
$friends = $facebook->api('friends.get');
Run Code Online (Sandbox Code Playgroud)
这会产生错误消息:"致命错误:未捕获OAuthException:(#803)您请求的某些别名不存在:在543行/mycode/facebook.php中抛出的friends.get"
不知道为什么那是或那意味着什么.有人能告诉我正确的语法(最新的Facebook API)来获取朋友列表吗?(我试过"$ friends = $ facebook-> api-> friends_get();"并得到一个不同的错误,"致命错误:在/mycode/example.php中的非对象上调用成员函数friends_get()第129行".)
我可以确认,在我的代码中这一点之前,事情很好:我通过有效会话连接到Facebook,我可以获取我的信息并将其转储到屏幕上......即此代码在失败的朋友之前完美执行.get电话:
$session = $facebook->getSession();
if ($session) {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
}
print_r($me);
Run Code Online (Sandbox Code Playgroud) php facebook facebook-php-sdk facebook-apps facebook-friends
从今天开始,我们在auth对话框中收到开发人员警告,并显示以下消息:
您在大型浏览器窗口或选项卡中使用显示类型的"弹出窗口".为了获得更好的用户体验,请使用我们的JavaScript SDK显示此对话框,而不指定显式显示类型.SDK将为每个环境选择最佳显示类型.或者,如果您有特殊要求阻止您使用SDK,请在window.open()调用上设置高度和宽度以正确调整此对话框的大小.此消息仅对您的应用程序的开发人员可见.

我们有以下情况:
在PHP-SDK本身引用正确地使用它自己的代码中的"显示弹出="的:
如果您在JavaScript中使用生成的URL和window.open()调用,则可以将display = popup作为$ params的一部分传递.
该JS-SDK文档说,打开的弹出窗口的最大尺寸应为400x580:
用于浏览器弹出窗口不超过400px乘以580px.使用此显示类型可以维护用户的上下文,而无需执行整页重定向.
所以,总结一下:根据文档,上面的实现应该没问题.是否有其他人有此警告或解决方案?
javascript facebook facebook-javascript-sdk facebook-php-sdk
我无法将自定义参数发送到我的Facebook粉丝页面选项卡.
我正在使用PHP并正在传递这样的:
http://www.facebook.com/pages/ {page-name} /?sk = APP_ID&pass = 1
但我无法读取参数传递
Sreejith
我的服务器日志显示"CSRF状态令牌与提供的不匹配"错误,这似乎几乎每个用户都会发生.但是,用户是创建和/或验证的,我能够检索用户信息.我正在使用Apache的Linux服务器.我也在使用最新的Facebook PHP SDK v.3.1.1谁能告诉我为什么会这样,以及如何解决它?
在Facebook Messenger中有一个图标,允许用户发送他们的地理坐标.
这是否可以在Facebook Messenger平台上使用,即如果用户向我发送他们的位置,我的Chatbot是否可以访问它?如果是这样,它是如何完成的,因为我无法在webhook的响应中看到它.
facebook-php-sdk ×10
facebook ×8
php ×5
oauth-2.0 ×2
composer-php ×1
csrf ×1
curl ×1
javascript ×1
windows ×1