我正在制作一个应用程序,可以帮助我通过youtube api v3将评论从应用程序提交到视频。现在我在使用 gapi 验证我的帐户后有了访问令牌,但我不知道为什么我不能将访问令牌与 post api 一起使用,尽管我已经尝试过使用 get 并且它运行良好。这是我的代码,我用来向youtube api发送请求以发布我的评论:
$scope.commentVideo = function () {
$http.post('https://www.googleapis.com/youtube/v3/commentThreads', {
params: {
part: 'id,snippet',
snippet: {
'channelId': $rootScope.ChanelId,
'topLevelComment': {
'snippet': {
'textOriginal': $scope.cmtstring
}
},
'videoId': $scope.videoId
},
access_token: VideosService.getGoogleToken(), //i have get the token from gapi getToken function
withCredentials: true
}
})
.success(function (data) {
$log.info(data);
})
.error(function (data) {
$log.info(data);
});
};
你可以帮我吗?谢谢。
我已经解决了这个问题,如果有人像我一样遇到这个问题(或像我这样的新手),你只需要使用 Gapi.client.request 发送 post/get 请求,清晰干净。这是我用来发送测试数据的代码:
gapi.client.request({
path: '/youtube/v3/commentThreads',
method: 'POST',
params: { part: 'id,snippet' },
body: {
snippet: {
'channelId': $rootScope.ChanelId,
'topLevelComment': {
'snippet': {
'textOriginal': $scope.cmtstring
}
},
'videoId': $scope.videoId
}
},
callback: function (response) {
$log.info(response);
}
});
有关 Gapi 的方法和类的更多信息,请阅读此处:
https://developers.google.com/api-client-library/javascript/reference/referencedocs#gapiclientrequestargs