2016-04-07 9 views
1

私が開発しているAndroidアプリからFacebook Checkinを実行しようとしています。私はグラフAPIを使用する必要があることを知っています。しかし、私はそれを働かせるために何が必要なのかよく分かりません。このためのサンプルコードはありますか?Android AppのFacebookチェックイン

私は、このリンク見直し:Publishing checkins on facebook through android app

どのように私はこのコードを使うのですか?これに関する助けに感謝します。

答えて

1

次のコードは、pageidを介してfacebookページのある場所にのみチェックインします。 (レストランのように)しかし、あなたはあまりにも場所IDでそれを行うことができると思う。

LoginManager.getInstance().logInWithPublishPermissions(
          getActivity(), Arrays.asList("publish_actions")); 
        String PAGEID = FACEBOOK_LINK.substring(
          FACEBOOK_LINK.lastIndexOf("/") + 1, 
          FACEBOOK_LINK.length()); 
        new GraphRequest(AccessToken.getCurrentAccessToken(), "/" 
          + PAGEID, null, HttpMethod.GET, 
          new GraphRequest.Callback() { 
           public void onCompleted(GraphResponse response) { 
            /* handle the result */ 

            try { 
             if (response.getError() == null) { 
              JSONObject obj = response 
                .getJSONObject(); 
              if (obj.has("id")) { 
               pageID = obj.getString("id"); 
/* make the API call */ 
            Bundle params = new Bundle(); 
            params.putString("message", "Eating"); 
            params.putString("place", pageID); 
            params.putString("link","URL"); 
            if (pageID == null) { 
             MessageBox 
               .Show(getActivity(), 
                 "Failed to check in to this restaurant"); 
            } else { 
             new GraphRequest(AccessToken 
               .getCurrentAccessToken(), 
               "/me/feed", params, 
               HttpMethod.POST, 
               new GraphRequest.Callback() { 
                public void onCompleted(
                  GraphResponse response) { 

                 if (response.getError() == null) { 
                  //success 
                 } else { 
                  MessageBox 
                    .Show(getActivity(), 
                      "Failed to check in to this restaurant"); 
                 } 
                } 
               }).executeAsync(); 
              } 
             } 
            } catch (JSONException e) { 
             // TODO Auto-generated catch block 
             MessageBox.Show(getActivity(), 
               "Error: " + e.getMessage()); 
             e.printStackTrace(); 
            } 


            } 

           } 
          }).executeAsync(); 

私はこのコードがちょっと混乱していることは知っていますが、作業が完了しています。ここで私がやっている最初のことは、ユーザーにFacebookのパブリッシュの許可を求めることです。次に、私がチェックしているpageIDがグラフリクエストを通じて有効かどうかを確認します。有効な場合は、別のリクエストでユーザーの希望する場所にチェックインしています。

+0

このコードは、既にFacebookにログインしていることを前提としていますか?私はこれを試し、あなたの投稿を続けます。 –

+0

FACEBOOK_LINKとは何ですか? –

+1

これは私がpageidを必要としたfacebookページのURLです。この[リンク](https://www.facebook.com/pizzaguydelivery)のように、場所の場所IDがあるかどうかを確認するために「pizzaguydelivery」部分が必要な場所 –

関連する問題