私はおそらくここで信じられないほど明白な何かを見逃しているので、私が質問をしている理由です...誰かが私が見逃しているものを見ることができることを願っています. 先週初めて OAuth について学んだばかりで、それを使用して (この場合)、ログインして承認した人から連絡先リストを抽出しようとしています。
Google .NET ライブラリを使用して、最初に試したのは次のとおりです。
Sub InviteGmailContactsOld()
Call google_api.GetClientCredentials(Vars.Server_name)
Dim Input_URL As String = google_api.Token_Request_URL & "?scope=" & OverrideEncode("https://www.google.com/m8/feeds/") & "&oauth_callback=" & OverrideEncode(Vars.Site_Root & "my-profile/manage-connections/invite-connections/google/")
Dim Input_URI As New Uri(Input_URL)
Dim Authenticator As OAuth3LeggedAuthenticator = New OAuth3LeggedAuthenticator("Politistream API", google_api.Client_ID, google_api.Client_Secret, String.Empty, String.Empty)
Dim Auth_Request As WebRequest = Authenticator.CreateHttpWebRequest("GET", Input_URI)
Dim Final_Request As WebRequest = WebRequest.Create(Input_URI)
Dim Auth_Headers As String = Auth_Request.Headers.ToString()
Final_Request.Headers.Add(Auth_Headers)
Final_Request.Method = "GET"
Response.Write(Final_Request.Headers.ToString() & " <br />" & Final_Request.RequestUri.ToString & "<br />")
Dim Auth_Response As String = Common.WebRequestToStringResponse(Final_Request)
End Sub
これをいくつかのバリエーションで試してみましたが、何をしても、Google から返されたのは 400 Bad Request だけでした。
次に、DotNetOpenAuth を試しました。
Sub InviteGmailContacts()
' GMail uses openID because OAuth doesn't work properly.
Dim openId As New OpenIdRelyingParty
Call google_api.GetClientCredentials(Vars.Server_name)
Dim New_URL As UriBuilder = New UriBuilder(Request.Url.ToString)
Dim Auth_Request As IAuthenticationRequest = openId.CreateRequest(google_api.OpenID_Login_URL, New_URL.Uri, New_URL.Uri)
Auth_Request.RedirectToProvider()
End Sub
これは機能し、要求された識別子を取り戻すことができました。私が持っていない問題は、私がそれをどうするべきか全くわからないということです.そして、私が従うことができ、多かれ少なかれ自分のものを作ることができる場所がどこにも見つかりません.
理想的には、私が探しているのは、必ずしも完全ではないコード サンプルですが、少なくとも目的の場所に到達できるほど十分に一貫性があるコード サンプルです。それがなければ、通常より 3 段階レベルを下げた説明で十分です。
ありがとう。