如何使用ngrok隧道使spring社交facebook在localhost上工作

时间:2017-12-05 19:45:50

标签: java spring-social ngrok spring-social-facebook

我想使用我的用户凭据向我的Facebook页面发送消息,并使用ngrok创建一个localhost隧道,以便facebook可以访问我的机器。但是我仍然收到一个错误的请求(500),告诉我我没有注册任何域名或域名。

在developers.facebook.com上我的App域中有类似的内容:04cda25e.ngrok.io

我在我的网站Url https://04cda25e.ngrok.io/

中有这个

这是我的代码:

//https://stackoverflow.com/questions/13376710/facebook-app-domain-name-when-using-localhost Ik krijg badrequest omdat ik geen appdomain opgegeven heb
    public void postToFacebook(){
        FacebookConnectionFactory connectionFactory =
                new FacebookConnectionFactory("1783242201976620", "******");

        OAuth2Operations oauthOperations = connectionFactory.getOAuthOperations();
        OAuth2Parameters params = new OAuth2Parameters();
        params.setRedirectUri("https://04cda25e.ngrok.io/1234");

//appid:1783242201976620 <<<<< not really an appid
//apptoken:Ycics4TEiCAs9JZXyHD4I489D6M <<<< this is like a mock apptoken. Totally not a real one that's for sure... 

        params.setScope("public_profile,email,user_birthday");

// upon receiving the callback from the provider: http://massapi.com/method/an/andExpect.html
        AccessGrant accessGrant = oauthOperations.exchangeCredentialsForAccess("*****", "****",params);
        Connection<Facebook> connection = connectionFactory.createConnection(accessGrant);
        Facebook facebook = connection.getApi();
        //facebook.pageOperations().
         facebook.feedOperations().updateStatus("I'm trying out Spring Social!");


    }

在我尝试获取访问权限时,它会抛出500错误。

有人可以帮忙吗?

编辑:下面是我在facebook设置中截取的截图:https://pasteboard.co/GXjfojs.png

任何人都知道我应该改变什么?

1 个答案:

答案 0 :(得分:0)

好吧,我还没有找到问题的解决方案,但我找到了一种解决方法,可以在不使用Spring社交网站的情况下访问Facebook页面获取访问权限。它是这样的:

1)登录facebookdeveloper

2)去工具&amp;支撑

3)选择Graph API资源管理器,您可以手动请求访问令牌。

4)按下获取令牌按钮并选择您想要的类型

5)选择您希望应用对该页面拥有的权限,然后点击“获取访问令牌”

6)Facebook生成一个String,它是Access令牌。通过在AccessGrant构造函数中包含此字符串,使用此实例化java中的AccessGrant对象。

7)使用此AccessGrant创建连接并瞧!

希望这有助于任何人..