以下で実際に投稿できます(本文の手順でアクセストークンを取得して下さい)( 投稿時のパラメータの日本語訳ドキュメント )
とにかくアクセストークンがすぐ欲しい場合 App ID を取得しているという前提で、Graph API Explorer にアクセスして、自分のアプリを選択してから権限を選択(通常デフォルトで十分です)してアクセストークンを取得します。 ▼ プログラムを書いてそこから投稿がアプリ名 ▼『アクセストークンを取得』をクリックすると、ウインドウが開いて必要なパーミッションを選択します ▲ その後、『Get Access Token』をクリックすると、アクセストークンが『アクセストークンを取得』ボタンの左に表示されます ブラウザを使う(現在 IE でしか取得できません) ブラウザを使って手動で60間有効なアクセストークンを取得します。Google Chrome でテストしました( IE では結果がうまく戻りません )まず以下の 文字列を作成してアドレスバーに入力します。すると、ログインされていない場合はログインページが表示され、ログイン済の場合は Success とだけ表示されて、アドレスバーに 2時間有効なアクセストークンが表示されます。そのアクセストークンを取得して下さい現在、blank.html が表示されますが、Google Chrome のデベロッパーツールで、Network を開いて実行すると、『login_success.html#access_token=2時間有効なアクセストークン』という形式での URL を確認することができます。結果的に、IE でのみ左端で右クリックして URL のコピーを行う事で取得できる事を確認しています ▼ 2時間有効なアクセストークンを取得する URL ( ログインしていない場合は、ログイン画面が表示されます )
https://www.facebook.com/dialog/oauth/?redirect_uri=http://www.facebook.com/connect/login_success.html&response_type=token&client_id=APIキー&scope=user_about_me,user_photos,read_stream,publish_stream
以下で実際に取得できます(IEで事前にFacebook をログオフしておく)
Facebook をログオフしておいて、上のフォームを実行すると、ログイン画面が表示されるので、そこで開発者ツールを開いてネットワークキャプチャを有効にしてログインします。 ▲ この画像は、IE11 ですが、IE10 でも動作は確認しました。 ▼ この時取得した URL は以下のようになりますhttp://www.facebook.com/connect/login_success.html#access_token=アクセストークン&expires_in=6047その2時間有効なアクセストークンを60日間有効なアクセストークンに交換する為に以下の文字列を作成します。
https://graph.facebook.com/oauth/access_token?client_id=APIキー&client_secret=アプリのシークレットキー&grant_type=fb_exchange_token&fb_exchange_token=2時間有効なアクセストークン
以下で実際に取得できます(ここはどのブラウザでも OK です)
▲ 上のフォームから送信すると、ページ内にアクセストークンが表示されます 一般的には、この文字列をブラウザのアドレスバーに入力すると、テキストとして以下のような文字列が帰って来ます。
access_token=60日間有効なアクセストークン&expires=残り時間
ここから以降は再検証していないので参考程度 これらは、offline_access パラメータの廃止に関するドキュメントに書かれてある手順を試してみたものです。ですから、アプリの詳細設定の『移行』で Remove offline_access permission が on になっている必要があります。まだ アプリケーションから試したわけではありませんが、2時間限定のアクセスならば、APIキーのみでシークレットは必要とせずに Graph API にアクセスする事ができます。 ※ graph.facebook.com/me/home でテストしました 2時間のアクセストークンだけならば、Windows8(C#) の WebView でテストして動作しています。WebView の URL の取得は以下のようにして処理しています。 ( イベントで取り出すのがセオリーですが、この方法はいろいろな場面で利用可能なので )
// 取得した文字列から、任意の処理で // アクセストークンを取り出します string url = (webView.InvokeScript("eval", new String[] { "(function(){return location.href})();" })).ToString();
関連する Facebook ドキュメント Extended Permissions
|
【APIの最新記事】
- WebRTC による WEBカメラ表示( 2018/11/15 ) : iPhone + Safari は iOS11 のみで確認
- PHP で Mastodon にアプリを登録して投稿する手順
- Google スプレッドシートの内容を JSON として localhost で取得する手順
- WebRTC による WEBカメラ表示を canvas にコピーして画像に変換し、サーバへアップロードする
- WebRTC による WEBカメラ表示
- Amazon API の 503エラー の対処について
- ドコモ デベロッパーサポートで API使いたいと思ってサインアップしようとしたら・・・・。法人情報は後から登録しましょう
- GitHub の yahoojapan/yconnect-php-sdk( PHP ) を使用して、Yahoo! にログインさせてユーザ情報を取得する( OPENID )
- Facebook Graph API Explorer でカスタムプライバシー設定をした投稿を行う
- C#(.NET) : Google Spreadsheets API version 3.0でGoogleスプレッドシートを参照
- Twitpic の画像URLを取得する API が変わっているようなのですが