首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到JSON-RPC

找不到JSON-RPC
EN

Stack Overflow用户
提问于 2014-07-16 17:44:31
回答 2查看 267关注 0票数 0

在objective c中使用Brightcove的Media API创建播放列表时出错:

代码语言:javascript
复制
{"method":"update_video","params":{"video":{"id":"myID","economics":"AD_SUPPORTED"},"token":"myToken.."}}

{"name":"MissingJSONError","message":"Could not find JSON-RPC.","code":211}, "result": null, "id": null}
EN

回答 2

Stack Overflow用户

发布于 2014-07-16 21:28:14

确保将JSON作为表单数据发送,而不是作为原始的post正文。这是可行的,但我不是一个目标c专家。

代码语言:javascript
复制
NSString *urlString = @"https://api.brightcove.com/services/post";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];

NSString *contentType = [NSString stringWithFormat:@"application/x-www-form-urlencoded"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];

NSString *data = @"json={\"method\":\"update_video\",\"params\":{\"video\":{\"id\":\"myID\",\"economics\":\"AD_SUPPORTED\"},\"token\":\"myToken..\"}}";
[request setHTTPBody:[data dataUsingEncoding:NSUTF8StringEncoding]];

NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSString *content = [NSString stringWithUTF8String:[responseData bytes]];
NSLog(@"%@",content);
票数 2
EN

Stack Overflow用户

发布于 2015-02-04 05:20:34

确保将JSON作为"multipart/form-data“发送,而不是作为原始的"application/json”post主体发送。

我的HTTPClient:

代码语言:javascript
复制
private static async void GetStatus2()
    {
        using (var client = new HttpClient())
        {
            using (var content = new MultipartFormDataContent())
            {
                string refId = "5e6c4d61-554c-42cc-ac34-cf3f3c5ba36d";
                string writeToken = "ueBq0azalcY3KhCxNPsiGyv-aH4kOQUxpm5YXX6vsT2DIE9W3d5MPQ..";

                var statusRequest = new GetStatusRequest(refId, writeToken);
                var statusRequestStr = JsonConvert.SerializeObject(statusRequest);


                //Content-Disposition: form-data; name="json"
                var stringContent = new StringContent(statusRequestStr);
                stringContent.Headers.Add("Content-Disposition", "form-data; name=\"JSONView\"");
                //stringContent.Headers.Add("Content-Type", "multipart/form-data;");


                content.Add(stringContent, "json");


                var message = client.PostAsync("http://api.brightcove.com/services/post", content);

                var input = message.Result.Content.ReadAsStringAsync();
                var response = JsonConvert.DeserializeObject<HTTPGetStatusResponse>(await message.Result.Content.ReadAsStringAsync());

                Console.WriteLine(JsonConvert.SerializeObject(response));
                Console.Read();
                if (response.result == HTTPGetStatusResponse.UploadStatus.ERROR)
                {
                    var ex = string.Format("BrightCove Api Error! Error Code: {0}. Error Name: {1}. Error Message: {2}", response.error.code, response.error.name,
                                           response.error.message);
                    throw new Exception(ex);
                }
            }
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24777484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档