سؤال

أنا أعمل على عميل Windows phone لخدمة واحدة باستخدام Oauth1 API.

في مستندات API لدي شيء مثل هذا:

url: http://example.com/iphone/json/users/

method: GET

حدود:page_num=[int] - رقم الصفحة، >=1، الافتراضي=1.

بالنسبة لرقم الصفحة الافتراضية، كل شيء يعمل بشكل جيد:

        RestClient HabraClient = new RestClient("http://habrahabr.ru");
        HabraClient.Authenticator = OAuth1Authenticator.ForProtectedResource("xxx", "yyyyyy", App.Tokens.Key, App.Tokens.Secret);
        var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);

        HabraClient.ExecuteAsync(TokenRequest, (response =>
        {
            try
            {
                if (response.StatusCode == HttpStatusCode.OK)
                {

عندما أقوم بتنفيذ هذا الطلب أتلقى الاستجابة الصحيحة مع البيانات.ولكن إذا قمت بإضافة معلمة (قم بإلغاء التعليق TokenRequest.AddParameter("page_num"، 2);) أتلقى "توقيع غير صالح".لقد حاولت إرسال كل من معلمة int وstring.

        var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);

        TokenRequest.AddParameter("page_num", 2);

        HabraClient.ExecuteAsync(TokenRequest, (response =>
        {
            try
            {
                if (response.StatusCode == HttpStatusCode.OK)
                {

أتلقى رسالة "توقيع غير صالح".لقد حاولت معلمة السلسلة أيضًا:

        TokenRequest.AddParameter("page_num", "2");

أخبرني مزود API ، أن لدي مشكلة في سلسلة قاعدة التوقيع http://oauth.net/core/1.0/#sig_base_example إذن، كيف يمكنني مشاهدته؟أو ربما يمكنك مساعدتي في حل كل هذه المشكلة؟

هل كانت مفيدة؟

المحلول

أعتقد أنك تكسر هيكل الطلب ...أفضل للتحقق من الطلب على عازف الكمان، ولكن حاول أن تكتب شيئا من هذا القبيل

var TokenRequest = new RestRequest("/iphone/json/users/?page_num=2", Method.GET);

بدلاً من

var TokenRequest = new RestRequest("/iphone/json/users/", Method.GET);

TokenRequest.AddParameter("page_num", 2);

نأمل، فإنه من شأنه أن يساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top