0

特定のユーザーによるアップロードの総数を見つけようとして、次のスレッドを見つけました。

特定の Youtube ユーザーがアップロードした動画の数を取得するにはどうすればよいですか?

この問題への答えは、ブラウザーから URL にアクセスしたときはうまく機能しますが、Obj-C で次の URL にアクセスすると、NULL が返されます。

https://gdata.youtube.com/feeds/api/users/megagonore/uploads?v=2&alt=jsonc&max-results=0

私は次のコードを使用しています。誰かが私が間違っていることを教えてもらえますか? 私はここで発狂します。

NSString *URL = @"https://gdata.youtube.com/feeds/api/users/megangore/uploads?v=2&alt=jsonc&max-results=2";
NSLog(@"*******%@", URL);

dispatch_async(kBgQueue, ^{NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString:URL]];
    @autoreleasepool{
        NSLog(@"******* PERFORMING STUFF *******");
        [self performSelectorOnMainThread:@selector(processOrders:)withObject:data waitUntilDone:YES];
    }
});

そしてそれは順番に呼び出します

//GOES TO SERVER AND LOOKS AT WORK ORDERS
-(void)processOrders:(NSData *)responseData
{

NSError* error;
NSDictionary* json = [NSJSONSerialization
                      JSONObjectWithData:responseData //1

                      options:kNilOptions
                      error:&error];

//AMOUNT OF WORK ORDERS
NSArray* Orders = [json objectForKey:@"body"]; //2
NSDictionary* nextOrder = [Orders objectAtIndex:0];
NSString* TotalNumber = [nextOrder objectForKey:@"totalItems"];
NSLog(@"**********************************%@", TotalNumber);
}

また:

#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) //1

これが答えです

NSError* error;
NSDictionary* json = [NSJSONSerialization
                      JSONObjectWithData:responseData //1

                      options:kNilOptions
                      error:&error];

//AMOUNT OF WORK ORDERS
NSDictionary *returnedData = json[@"data"];
NSNumber *uploadCount = returnedData[@"totalItems"];
int value = [uploadCount intValue];
NSLog(@"loans: %i", value);
4

1 に答える 1

1

提供されたリンクからの出力を見る

 {"apiVersion":"2.1","data":{"updated":"2013-10-08T17:44:29.337Z","totalItems":115,"startIndex":1,"itemsPerPage":0}}

「本体」キーはなく、配列もありません。アップロード数の合計アイテム数の場合、

   NSDictionary *returnedData = json[@"data"];
   NSNumber *uploadCount = returnedData[@"totalItems"];
于 2013-10-08T17:49:40.843 に答える