我们被要求在说明中设置Facebook的OAuth重定向URI(如下所示),以设置Google Firebase以使用Facebook登录.
我们点击了我们应用的每个菜单.它在哪里?它会被称为不同的东西吗?
...确保您的OAuth重定向URI(例如my-app-12345.firebaseapp.com/__/auth/handler)在Facebook for Developers网站的Facebook应用设置页面中列为您的OAuth重定向URI之一产品设置> Facebook登录配置.
随着从Facebook Graph API v1.0升级到v2.0,Facebook正在使用"应用程序范围的用户ID",因此我无法在我的应用程序中看到"原始"用户ID.
我总是使用实时更新和图形API调用,如" https://graph.facebook.com/{postId}/comments "来分析应用所在的Facebook页面上的用户活动.但由于这些数据包含原始用户ID,因此我无法将活动与我的注册用户进行匹配!
那么有没有办法从应用程序范围的用户ID获取原始的Facebook用户ID?或者反过来说?
编辑:
我最终使用此处提到的API方法为所有用户获取应用程序范围的ID:https://stackoverflow.com/a/29154912/3432305并将其存储在我的数据库中以及旧ID.然后,每当RTU到达时,对于"旧用户",我会检查哪个用户具有此应用程序范围的ID并处理更新.至少Facebook设法在API v1.0被弃用的前几天修复了评论中提到的错误(从应用程序范围的用户ID获取Facebook用户ID),因此对于我的应用程序的新用户来说,它就像一个魅力.至今...
我正在使用JavaScript API为Facebook创建我的应用程序.问题是,它正在回归
email = undefined.
我不知道为什么?如果我在我的应用程序上使用Facebook登录/注销按钮,则警报会显示用户的正确电子邮件ID,但我不想这样做.我错过了什么?
这是我的代码:
<p><fb:login-button autologoutlink="true" perms="user_about_me,email"></fb:login-button></p>
<script>
window.fbAsyncInit = function () {
FB.init({ appId: '250180631699888', status: true, cookie: true,
xfbml: true
});
FB.getLoginStatus(function (response) {
if (response.session) {
greet();
}
});
};
(function () {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
} ());
function greet() {
FB.api('/me', function (response) {
alert('Welcome, ' + response.name + "!");
alert('Your email id is : '+ response.email);
});
} …Run Code Online (Sandbox Code Playgroud) 我正在使用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
在Facebook应用程序设置中☞高级☞身份验证我可以选择"Web"或"Native/Desktop"作为应用程序类型.信息泡泡说:
如果您是原生iOS或Android应用程序,设备或桌面应用程序,则仅选择Native/Desktop
实际上我不是那些,但我的应用程序是原生iOS应用程序以及Facebook页面选项卡.
问题:我应该选择哪种应用类型?
我做了一些研究,并在Facebook Android教程中找到了以下内容(在疑难解答下):
- 应用类型Web vs Native/Desktop.有关系吗?:不,没关系.但是,建议您为应用程序使用"Native/Desktop"类型.
这意味着什么并不重要?这对我来说没有意义.那我为什么要选择呢?
我做了所以一些更多的研究,发现这种说法通过@Igy(Facebook的开发支持工程师):
如果应用程序的类型设置为"Native/Desktop",则假定您使用二进制文件分发了应用程序的密钥,因此应用程序访问令牌不受信任(并且PHP SDK中的"getAccessToken"仅在真实用户登录时才起作用在,它不能回退到app令牌)
最后我在Facebook文档中找到了这个:
注意:配置为Native/Desktop应用程序的应用程序将无法进行需要应用程序的API调用
access_token.
我确实需要从我的页面选项卡应用程序进行需要访问令牌的API调用,因此我的结论是选择"Web"作为应用程序类型,尽管我使用与页面选项卡相同的应用程序ID的本机iOS应用程序应用程序.但是iOS应用程序会有任何缺点吗?
facebook ios facebook-authentication facebook-apps facebook-access-token
换句话说,是否有一个API允许Facebook用户更改他们的帖子(通过第三方应用程序),这些帖子比指定的日期更早,从"朋友"列表可见到另一个,例如"仅"我"或"关闭朋友"?
人们越来越多地将他们的专业和熟人联系人添加为Facebook好友.
限制帖子的可见性是有意义的 - 以迎合不同的受众.
展望未来,这很容易,因为Facebook提供了充足的控制:

但问题是,除非你从一开始就这样设置,否则没有现有功能可以自动将所有旧墙帖和照片的可见性更改为"仅限我","关闭朋友"等等.
这提出了一个问题,因为早在2004年12月就手动逐个浏览帖子是不可行的:

在介绍时间轴时,Facebook确实提供了将所有帖子从"公共"更改为"朋友"的功能:

但是,现在还不可能将超过特定日期的帖子的观众更改为"仅限我","亲密朋友","朋友;除了:熟人"等.
但是,很明显,这样做的基本功能就在某处.
Facebook API中是否有可用于为此构建应用程序的功能?如果是这样,哪个?
facebook facebook-graph-api facebook-javascript-sdk facebook-c#-sdk facebook-apps
我创建了一个Web应用程序,用于对我们页面上的用户进行身份验证,并且我想将其与现有页面连接,但无法找到该选项.我只在高级选项中看到"创建页面",但这不是我真正需要的.
我想因为可以将旧应用程序与现有页面连接起来,因为要删除的组配置文件,也应该可以将新应用程序与现有页面连接起来.我错误地认为,或者只是盲目而没有找到那个选项?
我正在尝试使用Google Apps脚本作为网络应用创建Facebook应用,作为后端.唯一似乎适用的Facebook API是Javascript SDK,但我甚至无法使用它.
我目前遇到的问题是Facebook JS SDK使用以"__"结尾的Javascript标识符.Google Apps脚本限制以双下划线结尾的名称.
如果我使用Facebook的JS文件的修改副本而没有名称中的双重下划线,我会收到此错误:
Refused to display [URL] in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'
知道怎么让GAS和FB一起玩得好吗?
控制台中的结果:
应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL.它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域.
基本上我正在尝试的是让用户在blogspot.com上登录我的博客,并在他的墙上发布一些消息.
以下是我在facebook上配置app的方法:
App Domains:blogspot.com
沙盒模式:已禁用
站点URL:my_blog_name.blogspot.com/p/publishing.html
我开始使用Messenger Platform API.我想制作简单的Messenger Chatbot.这是我遵循的教程.
如您所见,首先我需要设置webhook(步骤2).所以基本上:Web服务器提供一些REST API并发回一些数据.问题是:facebook要求我提供一些当前在互联网上运行的真实的现有应用程序URL.那么,每次更改内容时,是否需要将代码上传到服务器?我可以以某种方式在本地测试它(在我的本地主机上)?我该如何测试机器人的行为?
facebook chatbot facebook-graph-api facebook-apps facebook-messenger