我正在使用 Ubuntu 15.10 x64 并且有 skype 4.3.0.37。
这是一个众所周知的旧版本问题,所有对方发送的图片都会以这样的链接形式接收:
https://api.asm.skype.com/s/i?0-xxx-a3-somehashkeysecretnumberchars
没关系,我以前用过。
两天前,出于某种原因,我输入了一条/msnp24
“改善”群聊的命令。没有任何明显的变化,所以我决定保持原样。
但第二天我发现,所有发送给我的图像(如上面的链接)都不再起作用了。我收到HTTP 404
错误和空白屏幕。
经过一些实验,我发现如果我重写指向另一个视图的链接,它就可以工作。但我不想对所有传入链接都这样做。
https://api.asm.skype.com/v1/objects/0-xxx-a3-somehashkeysecretnumberchars/views/imgpsh_fullsize
这问题是:如何返回所有内容并恢复/msnp24
命令?
我真是个笨驴,我干嘛要用那个命令?
答案1
感谢问题本身提供的信息,我能够创建一个 chrome 扩展来自动重定向到正确的 URL。
为了运行它
- 将两个文件(manifest.json 和 background.js)和源代码放在一个文件夹中。
- 转到 Chrome 扩展管理器 (chrome://extensions/) 并检查顶部的“开发者模式”。
- 单击“加载已解压的扩展...”按钮并选择包含您上面创建的文件的文件夹。
- 登录 Skype Web 一次然后您就可以关闭该选项卡。
当点击 Skype 中的图像链接时,重定向会自动进行。
这是扩展的源代码
清单.json
{
"manifest_version": 2,
"name": "Skype- Linux Image Sharing",
"description": "This extension will re-write the image links of skype so that you can see skype shared images of chrome",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"permissions": ["tabs"]
}
背景.js
chrome.tabs.onUpdated.addListener(function(tabId, info, tab) {
var BROKEN_SKYPE_URL = 'https://api.asm.skype.com/s/i?';
var FIXED_SKYPE_URL = 'https://weu1-api.asm.skype.com/v1/objects/IMAGE_ID/views/imgpsh_fullsize'
var currentUrl = tab.url;
if (info.status === 'complete' && currentUrl.slice(0, BROKEN_SKYPE_URL.length) == BROKEN_SKYPE_URL) {
var imageId = currentUrl.substring(currentUrl.indexOf("?")+1,currentUrl.length);
var finalUrl = FIXED_SKYPE_URL.replace('IMAGE_ID',imageId);
chrome.tabs.update(tab.id, {url: finalUrl});
}
});
请阅读创建 Chrome 扩展程序了解更多信息。
答案2
恐怕这不是一个解决方案,但却是指向正确方向的线索。
/msnp24 可能不相关,因此您正在寻找错误的答案。
我也使用 Ubuntu 15.10 (Mate),过去 24 小时左右,我收到的两个 skype 图像链接都像您的一样是空白的。但我没有输入 msnp24 命令。
对我来说,这看起来像是 skype api 本身可能已损坏,或者创建链接的命令已损坏。
尽管已登录 Skype 和 Web 管理器,但按照您所示重写链接时仍显示“未经身份验证”。
答案3
您的问题实际上可能是 Skype 服务器的问题。我在 Windows 上使用旧版 Skype 6.18,也被迫使用链接接收图片,但最近所有链接都加载到空白的 404 页面。这可能与命令问题无关,只是 Skype 试图强迫用户升级或使用较新版本的另一种方式。
更新:1/24 Windows 上的问题似乎已修复。Skype 现在提供有效的 URL,这些 URL 实际上会转到网站来加载图像。我想现在已经过了大约一周左右,所以您的问题可能也已修复。
答案4
现在,你可以使用Skype 网络测试版。注意:登录 Skype Web 测试版还将修复某些人在使用您的解决方法时遇到的“未经身份验证”问题。