【问题标题】:How to check user liked a specific facebook page or not in android?如何在android中检查用户是否喜欢特定的facebook页面?
【发布时间】:2016-09-29 09:46:31
【问题描述】:

这是我正在努力实现的流程:

Activity 打开,并向用户显示一个 Like 按钮 用户点击按钮并显示 Facebook 的登录屏幕 用户登录并被定向到粉丝页面(通过 Intent 或 WebView... 或其他任何有效的方法 :) 用户喜欢该页面 用户按下 Android 的后退按钮并返回到 Activity Activity 恢复并检查用户是否确实喜欢该页面。

  public class MainActivity extends AppCompatActivity {

    private Button mBtnSubmit;
    private WebView mWebView;
    private final int MY_PERMISSIONS_REQUEST = 1234;
    private MyBrowser myBrowser;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        mWebView = new WebView(MainActivity.this);
        myBrowser = new MyBrowser();
        mWebView.getSettings().setLoadsImagesAutomatically(true);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
        mWebView.loadUrl("https://www.facebook.com/rvcjofficial/?ref=br_rs");

        mWebView.setWebViewClient(new MyBrowser());

        setContentView(mWebView);


    }
 private class MyBrowser extends WebViewClient {


        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            view.loadUrl(url);
            return true;
        }
    }
}

【问题讨论】:

  • “如果他这样做了,就会给他积分” ​​- 您必须在创建任何应用程序之前阅读平台政策。不允许以任何方式奖励喜欢页面的用户,这称为“激励”。
  • 我在几年前做过这个。您需要设置webviewclient 并覆盖shouldOverrideUrlLoading。你需要检查 url (String#contains 将起作用) 当页面像例如我记得 url 在页面被喜欢时给出提示。祝你好运
  • @Muhammad Babar 我试过你的方法。我没有从 url 得到任何提示。我更新了我的代码。请看。如果你知道我该如何实现它。所以请告诉我。很紧急。
  • facebook平台政策不允许的事情怎么会紧急? ;)
  • 好吧,如果我喜欢一个页面,这是 url https://www.facebook.com/ajax/pages/fan_status.php?av=100012757304746&dpr=1,如果我不喜欢同一页面,这是 url https://www.facebook.com/ajax/pages/fan_status.php?dpr=1。所以你必须首先过滤掉基于fan_status名称的url,然后可以检查url中是否有av参数,表示用户喜欢该页面。请注意,这是一种 hacky 方式,如果 facebook 决定更改方案,将来可能会中断。

标签: android facebook facebook-graph-api facebook-like


【解决方案1】:

您可以使用 Graph API 来实现这一点。下面的示例代码。 /* 调用 API */

new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{user-id}/likes",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();

也可以查看这个链接https://developers.facebook.com/docs/graph-api/reference/user/likes

【讨论】:

  • 我试过了。但我真的不知道如何使用它。在用户 ID 中,我正在传递页面的整个链接。对吗??请你告诉我如何使用它。
  • 只需使用“/me”而不是用户 ID:/me/likes。无论哪种方式,您都需要 user_likes 权限,并且您不会在登录审核中获得批准,因为喜欢门控或奖励用户喜欢您的页面。
  • @luschn 你能告诉我我可以在用户 ID 中传递什么吗?因为我不知道如何实现它。
  • 我刚刚告诉过你……你读过那部分吗?这是重要的一点,关于平台政策,例如门控和奖励用户。
猜你喜欢
  • 1970-01-01
  • 2016-05-31
  • 1970-01-01
  • 2013-08-14
  • 2011-11-15
  • 2011-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多