問題タブ [facebook-access-token]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
facebook - アクセストークンを延長した後、それはさらに60日間有効になりますか?
たとえば、3月1日にアクセストークンをリクエストして取得し、30日後に延長した場合、さらに60日間有効になりますか、それともエンドユーザーからの再承認が必要ですか?
独自のアプリケーション内のイベントによってトリガーされる自動投稿機能を実装しています。したがって、エンドユーザーは自分の身元を確認するためにFacebookにCookieを提示することはできません。常に有効なアクセストークンがあることを確認する必要があります。
Facebookの公式ドキュメントは、この特定のテーマについてはかなりあいまいです。
javascript - FacebookAPIにHTTPリクエストを送信して投稿を作成する
HTTPPOSTを送信してFacebookページに投稿したい。私がこれを行う方法は、Facebookページへの投稿に使用される永続的なaccess_tokenを作成することです。問題は、access_tokenがfirebugまたは他のツールを使用して簡単に取得/検査できることです(ハードコーディングされているため)。他の人から遠ざける方法で送信するにはどうすればよいですか。
facebook - Facebook登録実績access_tokenの問題
ソリューションの編集: PHP SDKを使用して正しいアプリトークンを返すことはできません。また、開発者サイトの[アプリ]セクションでOpenGraphオプションを押して、[コードを取得]をクリックし、そこからアプリアクセストークンを取得することもできません。 。これを行う必要があります:
元の問題: PHP SDKを使用して、実績の登録に失敗しました。次のエラーが発生し続けます:「このメソッドはアプリaccess_tokenで呼び出す必要があります。」
ただし、使用しているトークンをopengraph(https://graph.facebook.com/app?access_token=ACCESS_TOKEN)に入力すると、アプリ情報が正しく取得されます。
これまでに実績を登録するために試した方法は次のとおりです。
access_tokenが必要だと言って、すべてが常に戻ってきます。
facebook - 短期間のアクセス トークンを 2 回交換しますか?
短期アクセス トークンを交換して 60 日間に延長する場合は、
ここから返されたアクセス トークン (AccessToken2) の有効期限が近づいた場合、元の短期アクセス トークン (AccessToken1ST) を使用して、新しいアクセス トークン (AccessToken3) と交換できますか?
私はそれをテストしますが、アクセス トークン 2 がまだ期限切れになっていないため、同じアクセス トークンを何度も返すだけです。
おそらくアクセストークン2でこれを実行できることはわかっていますが、特定のファイルからアクセストークン1を読み取っています。ユーザーでログインしていないため、公開Facebookデータを読み取りたいだけで、手動で行う必要はありませんアクセストークン1を更新し(書き込みアクセス権がないため)、可能であればアクセストークン1を使用してアクセストークン3を生成します。
devise - fbユーザーにオフラインでアクセスできません-友達リストをセッションに保存する必要がありますか?RoR、Devise、Omniauth、FBGraph
Facebook経由でアプリのユーザーを認証します。これを行っている間に、アクセストークンを取得し、検証を実行します。ただし、サインイン後すぐに、ユーザーに友達のリストを提示する必要があります。問題は、それまでにアクセストークンの有効期限が切れていることです。
devise、omniauth、fbgraph gemを使用しているとすると、これをどのように実行できますか?
考え:
- 新しいアクセストークンを取得します。どうすればよいですか?omniauth_callbacks_controllerを変更する必要がありますか?
- 友達リストをセッション変数に保存する必要がありますか?
私のomniauthコントローラー:
facebook-access-token - Javaを使用して永続的なFacebookアクセストークンを取得する方法
FacebookグラフAPIを使用している場合、その人がそれらの情報を公開すると、その人のすべての公開情報を見ることができます。たとえば、ブラウザを開いてFacebookにログインし、その人のユーザーID番号を知るだけです。 、Mark Zuckerberg-Facebookの創設者はユーザーID#4を持っているので、次のURLにアクセスしてください: https ://graph.facebook.com/4 =>名前、年齢、場所などの基本情報を確認できます。 i in _ https://graph.facebook.com/i with i 100万から100万、ユーザーが情報を公開している限り、100万人のユーザーの情報が表示される場合があります)
または、このリンクにアクセスすると、人のお気に入りや教育などの詳細情報を確認できます... _https://graph.facebook.com/4?access_token = XXX with XXXは一意のコードであり、ログインするたびに変更されます。 Facebook( http://developers.facebook.com/docs/reference/api/で詳細を参照してください)
私の目標は、基本的なJava URLを使用してこれらのリンクに移動し、すべての情報(基本的にはテキスト)を取得してテキストファイルに保存することです。_https://graph.facebook.com/4では問題はありませんが、2番目のリンクがあります。問題は、アクセストークンコードがXXXであるということです。毎回変更されるか、20〜30分後に期限切れになるため、プログラムを実行してより多くのデータを取得できません。質問は、永続的なアクセストークンを取得するか、それをより長く延長する方法があるかどうかです。私は小さなJavaプログラムのみを使用しており、Facebookアプリなどとは何の関係もありません。よろしくお願いします!
android - サーバーに登録またはログインするための Facebook シングル サインオン (Android および Ios)
ユーザーが投稿してサーバーから情報を取得するプロジェクトを実装しています。シナリオは、ユーザーがアカウント/ログインを手動で (電子メールとパスワードを指定して) 作成することも、SSO を使用して Facebook 資格情報を使用して作成することもできます。私は主に Android の部分を実装していますが、私の質問は一般的なものです。
SSO が呼び出され、ユーザーに資格情報を提供するように求めるボタンがあるとします。アカウントを作成するには、サーバーに何を送信すればよいですか? ユーザーの FB メールを取得し、受け取ったアクセス トークンをパスワードとして設定しますか? そのアクセス トークンは、すべての FB アカウントに対して一意かつ永続的ですか? つまり、同じ FB 資格情報を使用するたびに、同じアクセス トークンを取得しますか?
サーバー側で行う必要がある追加の作業はありますか? または、サーバーは、FB アカウントを使用するユーザーを他のユーザーと同様に処理できますか?
すべての説明は本当に役に立ちます。前もって感謝します!
android - AndroidアプリでextendAccessTokenIfNeededを使用してFacebookトークンを拡張することは可能ですか?
これは多くのFacebook/Android開発者に影響を与える可能性があると思いますが、それでもこのトピックについてはそれほど多くの議論がないようです...
私の質問
extendAccessTokenIfNeeded関数を使用してトークンを正常に更新した人はいますか?成功した場合、デバイス(またはエミュレーター)はどのバージョンで実行されていましたか?
バックグラウンド
Facebookからoffline_access権限が2012年5月1日から廃止されるというメールを受け取り、Facebookは最新のSDKへのアップグレードを推奨しました。罰金。
最新のSDKにアップグレードし、公式のFacebookアプリがデバイスにインストールされ、(最終的には!)シングルサインオンは正常に機能しているようです。60日間のトークンを受け取っていますが、これも問題ありません。
extendAccessTokenIfNeeded(Context context、ServiceListener serviceListener)を使用しようとすると、問題が発生しました。有効期限を長くするためにトークンを更新することができませんでした。試行の合間に24時間待ちましたが、トークンが更新されませんでした。更新されたトークンを取得する唯一の方法は、ログアウトしてログインすることです。これは、サンプルプロジェクト「Hackbook」を使用したときにも発生しました。
最も明白な答えは、私が何か間違ったことをしているということですが、バグレポートがFacebookに送信され、「shouldExtendAccessTokenはほとんどの場合falseを返します」と述べています。このレポートには、優先度の高い「ウィッシュリスト」が与えられています。
extendAccessTokenAsNeeded()の代替
Facebookのドキュメントでは、 offline_accessの非推奨トークンについて、GraphAPIを使用して拡張できます。ただし、これには「アプリシークレット」をURLに含める必要があるという欠点があります。利点は、ユーザーが公式のFacebookアプリをデバイスにインストールする必要がないことです。
その他のアイデアと懸念
Facebook.javaのextendAccessTokenIfNeeded関数を常にtrueを返すように変更することで、一度更新したと思います。(私が「考える」と言う理由は、それが行動を繰り返さないためであり、次の成功のチャンスが来るまでさらに24時間待たなければならないと思うからです)
HackbookではAndroidHttpClientをインポートする必要があることに気付きました。これは、API8以降でのみ使用できます。これは、Facebook SSO(特にトークンの更新)がAPI 8以降を搭載したデバイスでのみ機能する可能性が高いことを意味しますか?
SDKに含まれているFacebook.apkはかなり古いものです。おそらくこれが、API8以降を実行しているエミュレーターでトークンが更新されない理由ですか?
そして最後に、これはすべて、公式のFacebookアプリをインストールしている人々にのみ関係します!公式のFacebookアプリがない人のために別の方法を完了する必要があります(今すぐ文句を言うだけです!)
関連するFacebookリンク
関連するスタックオーバーフローの質問
Facebookの60日間のアクセストークンと非推奨のOffline_Access
facebook - アクセストークン Facebook グラフ API?
FBでアプリを作ったらアクセストークンXXXを取得
https://graph.facebook.com/me/likes?access_token=XXXを開くと、好きな情報がすべて表示されます。
しかし、別のユーザー( https://graph.facebook.com/4/likes?access_token=XXXなどの情報を公開に設定したユーザー)から開くと、何も得られませんでした
誰かが私に理由を教えてくれますか?
android - Android アプリで更新された Facebook トークンを取得するためのコードは何ですか?
私はAndroidアプリを開発しています。Facebook の offline_access パーミッションの廃止が迫っているので、Graph API を使用して Facebook トークンを拡張しようとしています。
上記のコードを Android アプリに実装し、更新された Facebook トークンを取得する方法を示す詳細なコードを提供できる人はいますか?
お時間をいただきありがとうございます。
更新 2:
進歩(と思います)!
facebook リクエスト メソッドで完全な URL を使用すると、ベース URL が URL の先頭に追加されます。
使用する必要があります
しかし、私は今、応答 {"error":{"message":"Error validationing application. Invalid application ID.","type":"OAuthException","code":190}} を得ています。
更新 1:
これが私が試したものです。コードは完了します。つまり、リスナーの OnComplete が呼び出されますが、応答には新しいアクセス トークンまたは有効期限値が含まれていません。
これが私のバージョンの RefreshListener です...
コードは完了します。つまり、リスナーの OnComplete が呼び出されますが、応答には新しいアクセス トークンまたは有効期限値が含まれていません。応答は...
同じ URL (英数字の現在のトークン値を持つ) を Web ブラウザーに入力すると、応答にはアクセス トークンが含まれます。
関連情報
Facebook の offline_access パーミッションは 2012 年 5 月 1 日に廃止されます
代わりに onResume() で extendsAccessTokenIfNeeded 関数を使用することはお勧めしません。私もそれで問題を抱えており、それが私がGraph APIトークンの更新を検討している理由です:-)
関連するスタック オーバーフローの質問
AndroidアプリでextendAccessTokenIfNeededを使用してFacebookトークンを拡張することは可能ですか? (私の質問)
5 月 1 日以降に廃止された後、offline_access はどのように機能しますか?
extendAccessToken を使用するためのアプリ シークレットの保護 (Java/Android)
関連する Facebook リンク