2016-09-25 16 views
-1

私は潜望鏡API呼び出しのためのクッキーを得ることができるようにサーバからの応答を得るためにhttps://api.periscope.tv/api/v2/loginTwitterを使用しようとしています。TwitterログインAPIを使用

私は要求クエリに必要な値をすべて持っていますが、「Bad Request」エラー(エラーコード400)が引き続き発生します。誰でもloginTwitter APIを使用できるのですか?

要求ヘッダー:

POST /api/v2/loginTwitter?bundle_id=com.bountylabs.periscope & PHONE_NUMBER = & SESSION_KEY = XXXXXXXX & session_secret = XXXXXXXX & USER_ID = XXXXXXXX & USER_NAME = XXXXXXXX & VENDOR_ID = 81EA8A9B-2950-40CD-9365-40535404DDE4 HTTP/1.1

認証:

のOAuth oauth_consumer_key = "XXXXXXXX"、oauth_nonce = "cecf203cda273c845cd5121007232666"、oauth_signature = "XXXXXXXX%3D"、oauth_signature_method = "HMAC-SHA1"、oauth_timestamp = "1474786616"、oauth_tokenは= "XXXXXXXX"、oauth_version = "1.0"

のOAuth署名:

POST & HTTPS%3A%2F%2Fapi.periscope.tv%2Fapi%2Fv2%2FloginTwitter%3Fbundle_id%3Dcom.bountylabs.periscope%26phone_number%3D%26session_key%XXXXXXXX %26session_secret%3xxxxxxxx%26user_id%3xxxxxxxx%26user_name%xxxxxxxx%26vendor_id%3D81EA8A9B-2950-40CD-9365-40535404DDE4 & bundle_id%3Dcom.bountylabs.periscope%26oauth_consumer_key%3xxxxxxxx%26oauth_nonce%3Dcecf203cda273c845cd5121007232666%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1474786616%26oauth_token%XXXXXXXX%26oauth_version%3D1.0%26phone_number%3D%26session_key%xxxxxxxxMX%26session_secret%xxxxxxxxt%26user_id %xxxxxxxx4%26user_name%XXXXXXXX%26vendor_id%3D81EA8A9B-2950-40CD-9365-40535404DDE4私は別のを助けるために、問題のおかげで解決した

+0

この情報はあまりにも簡潔です。あなたは実際に何をしていますか?どのAPIを使用してこれらのリクエストを送信していますか?そのドキュメンテーションはあなたが何をすべきだと言いますか? Twitter自体ではなく、この潜望鏡ではないのですか? – uliwitness

+0

また、誰でもこれを控えめにした方が、なぜ*あなた*がダウンボートすることにしたのかというコメントを追加できますか? – uliwitness

答えて

0

。問題は、jsonにエンコードせずにURLにリクエストパラメータを渡していることでした。この問題を解決するために探している人は、ここに私がC#でやった解決策があります。

  var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.periscope.tv/api/v2/loginTwitter"); 
      httpWebRequest.ContentType = "application/json; charset=UTF-8"; 
      httpWebRequest.Method = "POST"; 

      using(var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())){ 
       string json = "{" + 
        "\"bundle_id\":\"com.bountylabs.periscope\"," + 
        "\"phone_number\":\"\"," + 
        "\"session_key\":\""+final_oauth_token+"\"," + 
        "\"session_secret\":\""+final_oauth_token_secret+"\"," + 
        "\"user_id\":\""+user_id+"\"," + 
        "\"user_name\":\""+screen_name+"\"," + 
        "\"vendor_id\":\"81EA8A9B-2950-40CD-9365-40535404DDE4\"" + 
        "}"; 

       streamWriter.Write(json); 
       streamWriter.Flush(); 
       streamWriter.Close(); 
      } 

      var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 
      using(var streamReader = new StreamReader(httpResponse.GetResponseStream())){ 
       var result = streamReader.ReadToEnd(); 
       display.Text = "cookie: "+result; 
      } 
     } 

この結果、サーバーの応答にCookieが生成されます。このプロセスの詳細について

参考:Twitter login POST request in Periscope API

+0

こんにちは!あなたはまだこのコードを使用できますか?私は 'HttpClient'でも同じことをしようとしますが、私は" Unauthorized "を得続けます。これは私が作った投稿です。http://stackoverflow.com/questions/43622090/why-is-my-post-method-returning-unauthorized-c-sharp/43622679?noredirect=1#comment74317480_43622679 –

関連する問題