2011-07-03 9 views
0

私はこのURLを取得しています:解析のFacebook login_success URL

 
http://www.facebook.com/connect/login_success.html 
#access_token=161713100507627|2.R8bXAgr9wdiQYWJgVx_yPg__.3600.1301475600-100001169602345|sY- 
fl-62kCSgcn1pgiv2fYsltHE 
&expires_in=5996 

どのように私はこのURLを解析し、アクセストークンを取得することができますか?

私はrequest["access_token"]を試しましたが、動作しません。#の後に何も取得できません。

URL

string[] extendedPermissions = new[] { "publish_stream", "offline_access" }; 

     var oauth = new FacebookOAuthClient { AppId = current.AppId, RedirectUri = urlli }; 


     appId = current.AppId; 
     var parameters = new Dictionary<string, object> 
        { 
         { "response_type", "token" }, 
         { "display", "popup" } 

        }; 




     if (extendedPermissions != null && extendedPermissions.Length > 0) 
     { 
      var scope = new StringBuilder(); 
      scope.Append(string.Join(",", extendedPermissions)); 
      parameters["scope"] = scope.ToString(); 
     } 

     var loginUrl = oauth.GetLoginUrl(parameters); 
+0

このURLを指定するコードを表示できますか? – dtb

+0

URL – avnic

+0

のプラットフォームを生成するコードを追加しましたか? Silverlight? WP7? Windowsフォーム?ウェブ?それは私があなたがすぐに答えを見つけることができるかを理解するのに役立ちます.. – DevTheo

答えて

0

をgenrateコード[OK]を、私は多少あなたに答えることができるようにするための十分な情報を持っていると思います。私はあなたがブラウザからSilverlightを使用していると推測しています(これが私がこのような返品を知っている唯一のプラットフォームです)。

あなたがしなければならないことは、あなたのシルバーライト・アウト・オブ・アプリがインストールされているサイトと同じサイトにページを設定することです。理由は、ハッシュタグの後に何も通知されないことです。基本的には、JavaScriptから完全なURLを渡してSilverlightアプリにScriptNotifyを実行します(ハッシュタグの内容 - 「#access_token = ...」というものが含まれます)。

また、このページを指すように、あなたのfacebookアプリケーションにもセットアップする必要があります(コード内のセットアップでもこれを行うことができます)。 Silverlightでは、単に "ScriptNotify"イベントを処理する必要があります。 here for the sample web pagehere for the sample Silverlight code

もう1つ、問題を正しく推測(解決した場合)してください。

0

私はWPFアプリでhttp://facebooksdk.codeplex.com/discussions/261528とヒットしました。これはSilverlightにも当てはまります。これは、Facebookの動作の変更と、WPF(およびSilverlight?)Webブラウザーコントロールの問題との相互作用です。 WinFormsに切り替えることで問題を回避することができました。このリンクでは、WPFにとどまっているが、FacebookOAuthClient.ExchangeCodeForAccessToken()の呼び出しが追加されています。