标签: facebook-php-sdk

Composer安装错误 - 实际启用时需要ext_curl

我正在尝试使用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.

php windows curl facebook-php-sdk composer-php

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

自offline_access弃用以来如何扩展访问令牌的有效性

由于offline_access 权限是在Facebook的弃用认证流程,我们有问题歌厅所谓的长期生活的访问令牌没有这个权限.

Facebook的文档中有关的弃用说,服务器端OAuth生成的访问令牌将是长期存在的,但事实并非如此.

我错过了什么吗?应用设置中的一些设置?我需要使用一些特殊代码来延长访问令牌的到期时间?据我所知,对于服务器端身份验证,getAccessToken()当用户登录时,可以通过PHP SDK 的方法访问访问令牌.

php facebook-graph-api oauth-2.0 facebook-oauth facebook-php-sdk

60
推荐指数
3
解决办法
5万
查看次数

Facebook页面/帖子洞察费用

编辑:我已经设法在文档中得到了这么多: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沙箱,我可以使用它来提取虚拟成本或其他统计数据,因为我没有一个可以付费内容的页面.

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

38
推荐指数
1
解决办法
1313
查看次数

错误无效的范围:offline_access,publish_stream,当我尝试连接Facebook API时

当我尝试连接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

36
推荐指数
2
解决办法
7万
查看次数

奇怪的网址附加"#_ = _"

可能重复:
播放框架附加#=在Facebook验证后通过OAuth2重定向?

还有其他人看到过这种情况吗?

我正在使用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本身没有哈希片段).

例如,如果exam​​ple1.com返回到example2.com的重定向,那么访问example1.com#abc的浏览器将转到example2.com#abc,而example1.com上的散列片段内容可以访问example2上的脚本.COM.

由于可以将一个auth流重定向到另一个,因此可以从一个应用程序访问另一个应用程序的敏感身份验证数据.

通过将新的哈希片段附加到重定向URL来缓解此问题,以防止此浏览器行为.

如果关注结果URL的美学或客户端行为,则可以使用window.location.hash(甚至是您自己的服务器端重定向)来删除有问题的字符.

facebook facebook-oauth facebook-php-sdk

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

获取最新API的Facebook好友列表

我正在使用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

25
推荐指数
4
解决办法
11万
查看次数

Facebook Auth Dialog:关于使用"display"类型"popup"的开发人员警告

从今天开始,我们在auth对话框中收到开发人员警告,并显示以下消息:

您在大型浏览器窗口或选项卡中使用显示类型的"弹出窗口".为了获得更好的用户体验,请使用我们的JavaScript SDK显示此对话框,而不指定显式显示类型.SDK将为每个环境选择最佳显示类型.或者,如果您有特殊要求阻止您使用SDK,请在window.open()调用上设置高度和宽度以正确调整此对话框的大小.此消息仅对您的应用程序的开发人员可见.

直接在弹出窗口中提到的警告

我们有以下情况:

  • 用javascript我们打开一个新的弹出窗口
  • 弹出窗口的src是使用Facebook的PHP-SDK方法getLoginUrl设置的
  • popup本身的大小为400px×580px

PHP-SDK本身引用正确地使用它自己的代码中的"显示弹出="的:

如果您在JavaScript中使用生成的URL和window.open()调用,则可以将display = popup作为$ params的一部分传递.

JS-SDK文档说,打开的弹出窗口的最大尺寸应为400x580:

用于浏览器弹出窗口不超过400px乘以580px.使用此显示类型可以维护用户的上下文,而无需执行整页重定向.

所以,总结一下:根据文档,上面的实现应该没问题.是否有其他人有此警告或解决方案?

javascript facebook facebook-javascript-sdk facebook-php-sdk

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

将自定义参数传递到Facebook粉丝页面选项卡

我无法将自定义参数发送到我的Facebook粉丝页面选项卡.

我正在使用PHP并正在传递这样的:

http://www.facebook.com/pages/ {page-name} /?sk = APP_ID&pass = 1

但我无法读取参数传递

Sreejith

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

23
推荐指数
2
解决办法
3万
查看次数

CSRF状态令牌与提供的FB PHP SDK 3.1.1 Oauth 2.0不匹配

我的服务器日志显示"CSRF状态令牌与提供的不匹配"错误,这似乎几乎每个用户都会发生.但是,用户是创建和/或验证的,我能够检索用户信息.我正在使用Apache的Linux服务器.我也在使用最新的Facebook PHP SDK v.3.1.1谁能告诉我为什么会这样,以及如何解决它?

facebook csrf facebook-graph-api oauth-2.0 facebook-php-sdk

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

Facebook Messenger Chatbot如何收集他们发送的用户地理位置?

在Facebook Messenger中有一个图标,允许用户发送他们的地理坐标.

位置通过Facebook Messenger发送

这是否可以在Facebook Messenger平台上使用,即如果用户向我发送他们的位置,我的Chatbot是否可以访问它?如果是这样,它是如何完成的,因为我无法在webhook的响应中看到它.

facebook facebook-php-sdk facebook-messenger

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