为了账号安全,请及时绑定邮箱和手机立即绑定

Android / Java —将简单文本发布到Facebook墙?

Android / Java —将简单文本发布到Facebook墙?

蝴蝶刀刀 2019-11-08 10:32:44
我正在尝试将发布内容从我的应用程序集成到一个人的墙上。我已经有一个用户可以在其中保存用户名和密码(已加密)的区域。我想让我的程序恢复保存的用户名和密码,将其传递给Facebook进行身份验证,然后允许该应用将简单的文本(也可能是链接)发布到用户的墙上。就是说,我已经阅读了Facebook开发人员页面上的所有内容(该API对我来说似乎完全陌生。我从未做过任何类型的Web应用程序开发……只是台式机应用程序),并尝试了Java 这里的库,但说实话,我不了解任何各种实现。有些人声称使用简单,但显然它们远在我头上。我什至尝试过使用官方的Facebook Android SDK,但它使用了webview界面,并且我无法通过用户名和密码进行轻松身份验证。另外,即使经过正确的身份验证,我仍然对如何张贴在墙上一无所知。请帮忙。谢谢。哦,顺便说一句,我已经有了一个Facebook API密钥和应用程序ID。[更新1]为了进一步说明:如果我将以下代码段与官方Facebook Android SDK http://github.com/facebook/facebook-android-sdk一起使用,下一步(用户登录后)该怎么办?我不清楚。Facebook facebookClient = new Facebook();facebookClient.authorize(this, "[APP ID]", new String[] {"publish_stream", "read_stream", "offline_access"}, this);其中“ this”是一个实现DialogListener的Activity,“ [APP ID]”是我的Facebook应用程序ID。谢谢。[更新2]我找到了一个解决方案(请参阅下文),尽管唯一缺少的是能够使用我存储在应用程序中的数据自动填充登录文本框的功能。官方的Facebook Android SDK可能不允许这样做。我会继续调查。
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

AsyncFacebookRunner mAsyncRunner;

    Facebook    facebook =new Facebook("Your app id");


btnLogin.setOnClickListener(new OnClickListener() {


            @Override

            public void onClick(View arg0) {

                // TODO Auto-generated method stub

                facebook.authorize(FbdemoActivity.this, new String[]{ "user_photos,publish_checkins,publish_actions,publish_stream"},new DialogListener() {

                    @Override

                    public void onComplete(Bundle values) {




                    }


                    @Override

                    public void onFacebookError(FacebookError error) {

                    }


                    @Override

                    public void onError(DialogError e) {

                    }


                    @Override

                    public void onCancel() {

                    }

                });


            }

        });


    public void postOnWall(String msg) {

            Log.d("Tests", "Testing graph API wall post");

             try {

                    String response = facebook.request("me");

                    Bundle parameters = new Bundle();

                    parameters.putString("message", msg);

                    parameters.putString("description", "test test test");

                    response = facebook.request("me/feed", parameters, 

                            "POST");

                    Log.d("Tests", "got response: " + response);

                    if (response == null || response.equals("") || 

                            response.equals("false")) {

                       Log.v("Error", "Blank response");

                   }

             } catch(Exception e) {

                 e.printStackTrace();

             }


查看完整回答
反对 回复 2019-11-08
  • 3 回答
  • 0 关注
  • 427 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信