WebView を使用して、Android Facebook SDK の一部ではない Facebook Like ボタンを実装しようとしています。アイデアはとてもシンプルです。SDKを使用してSSOを使用してユーザーアカウントにログインするため、ユーザーがすでにAndroid FBアプリにログインしている場合、ユーザーはログイン/パスワードを再度入力する必要はありません。次に、WebView を使用して標準の Like ボタンを挿入します。
私はすでにユーザー認証トークン、ウォールなどでステータスを送信するための許可を持っています。問題は、ユーザーがすでにサインインしていることを WebView に伝える方法です。FBによって生成されたこのURL(webview.loadURL())でWebView(JSを有効にして)を使用しようとしていました:
http://www.facebook.com/plugins/like.php?href=myurl&send=false&layout=button_count&width=450&show_faces=true&action=like&colorscheme=light&font&height=21&appId=myId"
+ "&token=" + mFacebook.getAccessToken()+"&expires="+mFacebook.getAccessExpires(); //(or auth_token instead)<br>
明らかに、これは間違っているか、この方法で承認を送信するのに十分ではありません。[いいね!] ボタンをクリックすると、ユーザーは Web ブラウザーのログイン ページにリダイレクトされるからです。
したがって、問題は、この URL を編集する方法、またはユーザーをサインインさせるために WebView で Cookie を設定する方法 (CookieManager で URL に何を設定し、どの Cookie を使用するか) です。
助けてくれてありがとう!