我想对Tumblr实施授权。 在接待期间access_token像这样:
TypedLobby sqlLobby = new TypedLobby(GAME_LOBBY_NAME, LobbyType.SqlLobby);
string sqlLobbyFilter = string.Format("L = {0}" , 8);
PhotonNetwork.JoinRandomRoom(null, 2, MatchmakingMode.FillRoom, sqlLobby, sqlLobbyFilter);
我收到以下错误:
类型' System.Net.Http.HttpRequestException'的例外情况发生在mscorlib.ni.dll但未在用户代码中处理
附加信息:响应状态代码未指示 成功:401(未经授权)。
我设置了回调网址。可能是什么问题?
答案 0 :(得分:1)
问题是您正在发送GET请求。根据{{3}},您必须使用带标题ContentType: application/x-www-form-urlencoded
的POST。有关使用HttpClient执行此操作的一个很好的示例,请参阅spec。请注意,您的名称/值对不是URL的一部分,即使它们被编码为查询字符串。
或者,如果您不介意库依赖项,可以尝试我的here库,这会将代码缩短为:
string responseBodyAsText = await "https://www.tumblr.com/oauth/access_token"
.PostUrlEncodedAsync(new {
oauth_consumer_key = oauth_consumer_key,
oauth_token = main_oauth_token,
oauth_signature_method = "HMAC-SHA1",
oauth_signature = oauth_signature,
oauth_timestamp = oauth_timestamp,
oauth_nonce = oauth_nonce,
oauth_version = "1.0",
oauth_verifier = oauth_verifier
})
.ReceiveString();
Flurl可在Flurl上找到。
答案 1 :(得分:0)
EnsureSuccessStatusCode()
也会产生同样的错误。检查您是否正在使用它,如果是,请确保您的服务器身份验证正确无误。