相关疑难解决方法(0)

从应用程序范围的用户ID获取Facebook用户ID

随着从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),因此对于我的应用程序的新用户来说,它就像一个魅力.至今...

facebook facebook-graph-api facebook-apps

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

如何在iPhone的Facebook应用程序中打开Facebook页面?

我有以下页面,我想在Facebook应用程序中显示:http://www.facebook.com/mypage

我尝试执行以下操作,但似乎不起作用:

    NSURL *urlApp = [NSURL URLWithString:@"fb://profile/mypage"];
    [[UIApplication sharedApplication] openURL:urlApp];
Run Code Online (Sandbox Code Playgroud)

我也试过@"fb://mypage"同样的负面结果.应用程序已打开但不需要页面.

iphone facebook

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

Facebook API - 每个应用程序的不同用户ID?

我目前正在开发移动应用程序,因此我需要专门为此目的使用新的应用程序.看起来很愚蠢的是,Facebook决定为每个应用程序使用不同的"用户ID".除了没有看到这一点上的重点,我感到困惑的是我如何为给定用户提取相同的userId,以便与我的数据库匹配.我正在使用oauth.io来处理登录,并返回值:

$('#facebook-login').click(function() {
    $('#ajax_spinner_wrapper').show();
    OAuth.initialize('CmRGYdnRMWM2ZrOb7M1Nf1_T57o');
    OAuth.popup('facebook').done(function(result) {
        //console.log(result)
        result.get('/me').done(function(data) {
            //todo with data
            console.log(data);

            $.post('https://steampunkjunkies.net/cgi-bin/mobi_login.cgi', { action: 'store_session', what: 'facebook', user: data.id }, function(result) {
                $('#ajax_spinner_wrapper').hide();
            });
        }).fail(function(err) {
            //todo with err
            console.log("Hit an error?");
        });


    })
    .fail(function (err) {
        alert("oops, we got an error!");
        console.log(err);
        $('#ajax_spinner_wrapper').hide();
    });

    return false;
});
Run Code Online (Sandbox Code Playgroud)

但问题是,它在每个应用程序中给出了完全不同的Id.以下是我基于网络的内容:

'id' => '838605583',
Run Code Online (Sandbox Code Playgroud)

..然后使用我的oauth.io(https://oauth.io)设置中的其他应用程序:

id  "10155167132970584"
Run Code Online (Sandbox Code Playgroud)

两者都是完全相同的用户.

有没有办法关联这些Id,所以我可以将它们匹配在一起?令人惊讶的是,Facebook并不认为这样的事情会成为一个问题!

注意:关于此更改,来自Facebook的一些信息:

https://developers.facebook.com/docs/apps/upgrading#upgrading_v2_0_user_ids

当人们首次登录针对API的v2.0编码的应用实例时,Facebook将开始发布应用范围的用户ID.使用应用范围的ID,同一用户的ID在不同应用之间会有所不同.

无论他们最初用于注册您的应用的版本如何,对于已登录您应用的用户,ID都将保持不变.对于在过去的任何时间点登录您的应用的任何人,此更改都是向后兼容的.

如果您没有跨应用程序映射ID,则不需要更改代码.如果您需要跨多个应用映射相同的用户ID或运行跨应用促销,我们添加了一个名为Business Mapping API的新API.这使您可以跨应用程序映射登录用户的ID,只要这些应用程序全部归同一企业所有.详细了解如何实施交叉促销.

对于尚未登录您应用的用户,用户ID可能会根据您调用的API版本而更改.在API的v1.0中,未登录到您的应用程序的用户将通过其原始Facebook用户ID引用,而在v2.0中,将通过应用程序作用域ID引用它们.

我们添加了新的API端点,允许您标记和邀请不使用您的应用的朋友.这些API返回令牌,可用于生成标记和邀请的自定义界面.这些令牌并不意味着可以缓存,我们无法保证它们在收到包含它们的API响应后24小时内保持稳定.它们与未登录到应用程序的人员使用的数据ID或应用程序范围ID相同.

用户可以在应用程序的"编辑设置"对话框中检查他们安装的每个应用程序的应用范围ID.确保您的应用用户在与您联系并提供支持查询时知道如何找到它

我真的没有得到他们的逻辑.为每个用户设置唯一标识符更有意义,可用于针对任意数量的应用程序进行验证.在我的情况下,有人登录我们的基于Web的应用程序,然后他们也想登录到移动应用程序 - 但它有一个不同的用户ID,所以没有办法将2连接在一起!Eugh

facebook oauth.io

9
推荐指数
1
解决办法
8158
查看次数

如何将Facebook虚假用户ID转换为真实用户ID

我正在构建一个Facebook应用程序,它将返回喜欢某个企业可以提供的产品的用户.我正在使用位于此处的Facebook Query Builder https://github.com/SammyK/FacebookQueryBuilder来完成所有这些工作.

该应用程序使用Facebook Graph Search API返回符合特定搜索条件的页面.然后它会查看谁喜欢该页面的最新状态,使其成为"温暖"的领导者.我找回了一个用户的假身份证.亲自测试一下.

如果你去Facebook/684351765016845,你将被重定向到facebook/arturo.valencia.37

但真正的Facebook用户ID是:100003260838219而不是684351765016845.

我需要获得真正的Facebook用户ID或Facebook重定向到的用户名.我甚至尝试使用curl请求登录并尝试让它重定向我,就像这里显示的一样

php从源URL获取重定向的url

我不确定我需要做什么.任何帮助表示赞赏.

你可以在这里看到我的测试应用程序和我得到的结果: http://104.131.178.30/ryan/

任何和所有的帮助表示赞赏.

php curl facebook facebook-graph-api

0
推荐指数
1
解决办法
1384
查看次数