发布/创建从Android应用程序到Facebook的民意调查



Facebook中有一个名为Poll(contun poll)的应用程序,您可以在其中提供问题和一些选项。创建民意调查后,其他人可以开始投票。我可以在我的Android应用中创建民意调查并将其发布在Facebook上吗?即,用户将给他的Facebook登录凭据,而TEH应用程序将代表他创建民意调查。是否有这样的API?

是的,这是可能的。相关文档在这里:https://developers.facebook.com/docs/reference/api/question/

要在Android应用程序上执行此操作,您需要将我们的Facebook SDK添加到Android中。这样做后,要创建一个问题,您只需要执行以下

  1. 通过Facebook对用户进行身份验证以获取有效的访问令牌
  2. 请求publish_streamuser_questions权限

然后,您只需要以下代码来创建问题并将其发布到Facebook:

Bundle params = new Bundle();
params.putString("question", "Cats or dogs?");
JSONObject questions = new JSONObject();
questions.put("Cat");
questions.put("Dog");
params.putString("options", questions.toString())
mAsyncRunner.request("me/questions", params, "POST", new RequestListener() {
    @Override
    public void onComplete(Bundle values) {
        // success
        Log.d("fb", values.toString());
    }
    @Override
    public void onFacebookError(FacebookError e, final Object state) {
        Log.e("Facebook", e.getMessage());
        e.printStackTrace();
    }
    @Override
    public void onFileNotFoundException(FileNotFoundException e, final Object state) {
        Log.e("Facebook", e.getMessage());
        e.printStackTrace();
    }
    @Override
    public void onIOException(IOException e, final Object state) {
        Log.e("Facebook", e.getMessage());
        e.printStackTrace();
    }     
    @Override
    public void onMalformedURLException(MalformedURLException e, final Object state) {
        Log.e("Facebook", e.getMessage());
        e.printStackTrace();
    }

最新更新