我很难理解Oauth验证。我正在尝试使用bing的搜索API。他们要求进行oauth验证。我有一把他们给我的主键。我遇到的问题是如何提出请求,提供oauth验证密钥。
例如,如果我尝试通过以下方式发出获取请求:
if (isset($_GET['userid']) && !empty($_GET['userid']) && isset($_GET['transactionid']) && !empty($_GET['transactionid'])) {
# generate random string
}
我收到错误
http//api.datamarket.azure.com/Bing/Search?Query=%27xbox%27
所以问题是,我是否将我的密钥嵌入到URL中,例如
The authorization type you provided is not supported. Only Basic and OAuth are supported
如何提供我的凭据才能访问其API?
答案 0 :(得分:0)
这不是一个完整的答案,因为我仍然得到了#34; 401 Unauthorized"错误,但这是我为AngularJS配置OAuth的方式。这是用于Bing图像搜索。
var accountKey = '/*Your Account Key*/';
var base64EncodedKey = btoa(accountKey);
$http({
method: 'GET',
url: 'https://api.datamarket.azure.com/Bing/Search/v1/Image?Query=%27Pizza%27&$format=JSON',
headers: {'Authorization': 'Bearer ' + base64EncodedKey}
}).success(function(json) {
console.log('Returned: ' + JSON.stringify(json));
}).error(function(err) {
console.log('There was an error retrieving the image JSON: ' + err);
});
这至少摆脱了授权类型错误,但我似乎仍然对我提供帐户密钥的方式有误。希望它有助于指出你正确的方向!