whyliam / whyliam.workflows.youdao

使用有道翻译你想知道的单词和语句
http://blog.naaln.com/2015/05/repeat-create-the-wheel-alfred-plugin-youdao/
MIT License
1.09k stars 133 forks source link

帐号出错,临时保存至本地单词本 #93

Open bugaio opened 4 years ago

bugaio commented 4 years ago

账号密码 都没错误啊, 为啥 一直 报这个 错误

pg-yang commented 4 years ago

我也是

Benny233 commented 4 years ago

俺也登录不上 正在看这个登录代码 奈何俺没写过Python 我是Alfred4 网易的账号是qq邮箱 新注册账号 换成网易邮箱 也失败了

whyliam commented 4 years ago

最近我有点忙,我抽空看一下

Benny233 commented 4 years ago

我把账号直接写进去 发现貌似是添加单词接口的问题 我改了下 可以存单词了

http://dict.youdao.com/wordbook/wordlist?action=add 改成了 http://dict.youdao.com/wordbook/ajax?action=addword&q=%s&le=eng 可以存单词了

WoodwindHu commented 4 years ago

saveword.py里的syncToYoudao函数改成下面这样就好了

def syncToYoudao(self): post_data = urllib.urlencode({ 'word': self.word.get('word'), 'phonetic': self.word.get('phonetic'), 'desc': self.word.get('trans'), 'tags': self.word.get('tags'), }) self.opener.addheaders = fake_header + [ ('Referer', 'http://dict.youdao.com/wordbook/wordlist'), ] response = self.opener.open( 'http://dict.youdao.com/wordbook/ajax?action=addword&q=%s&le=eng'%(urllib.quote(self.word.get('word'))), post_data) return '''{"message":"adddone"}''' in response.read()

SandyJiang commented 4 years ago

saveword.py里的syncToYoudao函数改成下面这样就好了

def syncToYoudao(self): post_data = urllib.urlencode({ 'word': self.word.get('word'), 'phonetic': self.word.get('phonetic'), 'desc': self.word.get('trans'), 'tags': self.word.get('tags'), }) self.opener.addheaders = fake_header + [ ('Referer', 'http://dict.youdao.com/wordbook/wordlist'), ] response = self.opener.open( 'http://dict.youdao.com/wordbook/ajax?action=addword&q=%s&le=eng'%(urllib.quote(self.word.get('word'))), post_data) return '''{"message":"adddone"}''' in response.read()

大佬,改完了怎么重新编译workflow文件啊

wuchuanyu commented 4 years ago

saveword.py还有一个地方需要修改

def loginToYoudao(self): self.cj.clear() first_page = self.opener.open( 'https://account.youdao.com/login?back_url=http://dict.youdao.com&service=dict') login_data = urllib.urlencode({ 'app': 'web', 'tp': 'urstoken', 'cf': '3', 'fr': '1', 'ru': 'http://dict.youdao.com', 'product': 'DICT', 'type': '1', 'um': 'true', 'username': self.username, 'password': self.password,

'savelogin': '1',

'agreePrRule': '1', })

macnc commented 4 years ago

我这边还是有问题,无法加入生单词到有道生词本中去

wuchuanyu commented 4 years ago

def syncToYoudao(self): post_data = urllib.urlencode({ 'word': self.word.get('word'),

'phonetic': self.word.get('phonetic'),

'desc': self.word.get('trans'),

'tags': self.word.get('tags'),

})

dourgulf commented 3 years ago

按照楼上各位大佬的办法已经成功加入单词本了,那么问题来了: 回到有道词典App,并不能看到这个新加的单词!怎么破?

dourgulf commented 3 years ago

结合了楼上各位大佬的修改,终于成功了。 提交了一个PR:https://github.com/whyliam/whyliam.workflows.youdao/pull/102 看看作者review一下,看是否合适merge一下,造福大家:)

123edg commented 2 years ago

按照楼上各位大佬的办法已经成功加入单词本了,那么问题来了: 回到有道词典App,并不能看到这个新加的单词!怎么破?

大佬,我也是这个问题,请问你现在添加成功了么

SUPerBillL commented 2 years ago

感谢各位大佬!保存单词本的功能可以同步了。

ChenYujie666 commented 2 years ago

saveword.py里的syncToYoudao函数改成下面这样就好了

def syncToYoudao(self): post_data = urllib.urlencode({ 'word': self.word.get('word'), 'phonetic': self.word.get('phonetic'), 'desc': self.word.get('trans'), 'tags': self.word.get('tags'), }) self.opener.addheaders = fake_header + [ ('Referer', 'http://dict.youdao.com/wordbook/wordlist'), ] response = self.opener.open( 'http://dict.youdao.com/wordbook/ajax?action=addword&q=%s&le=eng'%(urllib.quote(self.word.get('word'))), post_data) return '''{"message":"adddone"}''' in response.read()

大佬,改完了怎么重新编译workflow文件啊

我也不会编译,但可以在 Alfred 里面,打开包的位置, 直接替换脚本文件