Görünüm OAuth token ile özel video Vimeo
Herkes Vimeo API bir çubuk kullanarak yardım edebilir mi? Amacım kullanıcı parolası (bu işlem arka planda yapılmalıdır) koymak için zorlamak zorunda kalmadan özel bir video yükledim) erişmek için.
Araştırma / anlamak anladığım kadarıyla gerekli
Uygulama oAuth yetkilendirme Protokolü kullanarak, istek ve aşağıdaki bağlantı yoluyla:
https://vimeo.com/oauth/authorize?oauth_token=XXXX
Bu işlem başarıyla gerçekleştirilen ve yanıt verileri geri arama URL gönderilir. gibi bir şey
http://127.0.0.1:8001/XPTO.html?oauth_token=AUTH_TOKEN_EXAMPLE&oauth_verifier=VERIFIIER__EXAMPLE"
According to Brad Dougherty (Vimeo API Personel) mümkün böyle bir şey
Eğer kendin gibi OAuth sürecinde gidersen, token Kaydet ve arama yapmak için kullanabilirsiniz.
Bu kodu kullanıyorum:
service = new ServiceBuilder().provider(VimeoApi.class)
.apiKey("API_KEY_EXAMPLE")
.apiSecret("API_SECRET_EXAMPLE")
.build();
OAuthRequest request = new OAuthRequest(Verb.GET,
"http://vimeo.com/api/rest/v2?video_id=50305416");
request.addQuerystringParameter("format", "json");
request.addQuerystringParameter("method", "vimeo.videos.getInfo");
String oauth_verifier=VERIFIER__EXAMPLE;
Verifier verifier = new Verifier(oauth_verifier);
//I've tried differents combination to create this token
//I believe that my problem is HERE
//One unsuccessfully try: Token requestToken = service.getRequestToken();
Token requestToken = new Token(
AUTH_TOKEN_EXAMPLE,
API_SECRET_EXAMPLE);
Token token = service.getAccessToken(requestToken, verifier);
service.signRequest(token, request);
Response response = request.send();
Aşağıdaki hata ettim:
Yanıt vücut yanlıştır. Bu belirteç ve gizli özü: '401 - Yetkisiz Geçersiz imza - oauth_signature geçti geçerli değil.'
Bana kaçan ne? Bu bunu yapmak için doğru yol değil mi?
CEVAP
Bu şekilde yaptım: "http-on-modify-request"
olay nsIHttpChannel
dur, geçerli pencere için tarayıcı nesne almak, browser.loadURI
.
var utils = require("sdk/window/utils");
function needsRedirect(url) {
// to be implemented
return true;
}
function generateNewUrl(url) {
// to be implemented
return "http://www.example.com/";
}
Cc["@mozilla.org/observer-service;1"]
.getService(Ci.nsIObserverService)
.addObserver({
observe: function(subject, topic, data) {
var channel = subject.QueryInterface(Ci.nsIHttpChannel);
var url = channel.originalURI.spec;
if (needsRedirect(url)) {
//stop
channel.cancel(Cr.NS_BINDING_ABORTED);
//redirect
var gBrowser = utils.getMostRecentBrowserWindow().gBrowser;
var domWin = channel.notificationCallbacks.getInterface(Ci.nsIDOMWindow);
var browser = gBrowser.getBrowserForDocument(domWin.top.document);
browser.loadURI(generateNewUrl(url));
}
}
}, "http-on-modify-request", false);
Android 1.6: "android.görünüm.Pen...
Nasıl özel bir görünüm Kakao Otomatik ...
Özel görünüm Android set yüksekliği ve...
Görünümü denetleyicisi'görünüm - ...
Android özel bir görünüm için üç kuruc...