1

facebook 中有一个名为 poll(opinion poll) 的应用程序,您可以在其中提出问题和一些选项。创建投票后,其他人可以开始投票。我可以在我的 android 应用程序中创建投票并在 facebook 上发布它吗?即用户将提供他的 Facebook 登录凭据,并且应用程序将代表他创建投票。有没有这样的API?

4

1 回答 1

2

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

要在您的 android 应用上执行此操作,您需要将我们的 Facebook SDK for 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();
    }
于 2012-11-06T00:50:17.313 回答