0

私は自分のアプリでさまざまなチャンネルを購読できるアプリケーションを開発しています。だから、APIの要求を保存するには、私はすでにYouTubeチャネルを購読しているかどうかを知りたい。研究しながら私はいくつかのコードを発見し、自分の要件にいることを変更している:私のコードの応答値を実行するにはユーザーがYoutubeデータAPIを使用してyoutubeチャンネルに購読しているかどうかを確認

static public boolean checkIfUserAlreadySubscribed(String channelyoutubeid) { 
    SubscriptionListResponse response = null; 
    try { 
     HashMap<String, String> parameters = new HashMap<>(); 
     parameters.put("part", "snippet,contentDetails"); 
     parameters.put("forChannelId", channelyoutubeid); 
     parameters.put("mine", "true"); 

     YouTube.Subscriptions.List subscriptionsListForChannelIdRequest = MainActivity 
       .mService.subscriptions().list(parameters.get("part").toString()); 
     if (parameters.containsKey("forChannelId") && parameters.get("forChannelId") != "") { 
      subscriptionsListForChannelIdRequest.setForChannelId(parameters 
        .get("forChannelId").toString()); 
     } 

     if (parameters.containsKey("mine") && parameters.get("mine") != "") { 
      boolean mine = (parameters.get("mine") == "true") ? true : false; 
      subscriptionsListForChannelIdRequest.setMine(mine); 
     } 

     response = subscriptionsListForChannelIdRequest.execute(); 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    if (response != null) { 
     //What should i do here 
    } else { 
     //whta should i pass 
    } 
} 

は、ユーザーが誰もが何をすべきかを私に示唆.Can加入しているか否かを常にnullではありません?

答えて

0

ユーザーが既に購読しているチャネルを取得するには、をmineパラメータに設定して、trueに設定してみてください。成功した要求は、アクティビティリソースとレスポンスボディを返すであろう。

"contentDetails": { 
    "subscription": { 
     "resourceId": { 
     "kind": string, 
     "channelId": string, 
     } 
    } 
} 

contentDetails.subscription.resourceId.channelIdは、YouTubeが一意にユーザが加入しているチャネルを識別するために使用するIDです。

関連する問題