用于嵌入式的python库

Embedl的Python项目详细描述


用于与Embeddely的API交互的嵌入式Python库。要开始注册
a key at`embed.ly/sign up<;https://app.embed.ly/signup>;` `.

install
----
install with`pip<;http://www.pip-installer.org>;` `(推荐)::


/>或者setuptools::

git clone git://github.com/embeddely/embeddely python.git
python setup.py


setup需要setuptools 0.7+或distribute 0.6.2+才能利用"2to3"选项的
。安装程序仍将在早期版本上运行,但您将看到一个警告,并且不会出现"2to3"。阅读setuptools中的更多内容
`docs<;http://pythonhosted.org/setuptools/python3.html>;`\br/>

Getting Started
----
此库是与嵌入式API交互的非常简单的方式。
只有两个主要对象,即"嵌入式"客户端和"url"``响应
模型。下面是一个简单的示例,然后我们将进入对象:

>;>from embeddly import embeddly
>;>client=embeddly(:key)
>;>obj=client.oembed('http://instagram.com/p/bl7ti/')
>;>obj['type']
u'photo'
>;>obj['url']
u'http://images.ak.instagram.com/media/2011/01/24/2011/01/2011/01/24/CDD759A3919184CB79793506607FF5746-7.jpg'

>
>>;gt;obj=client.oembed('http://instagram.com/error/error/'')
>>;obj['error']
>true


>嵌入式客户端
"""""
>嵌入式客户端是嵌入式客户端是嵌入式客户端是嵌入式客户端
>

>""""
>阿奥对象,它接受键和可选的用户代理
和超时参数,然后处理所有要嵌入的交互和http请求。要初始化对象,您需要在注册嵌入时获得的密钥。




>;
>;从嵌入导入嵌入
>;>client=embeddly('key')
>;>client2=embeddly('key','mozilla/5.0(compatible;example org;)')
>;>gt;client3=embeddly('key','mozilla/5.0(compatible;example org;)',30)
nds到"oembed endpoint
<;http://embed.ly/docs/embed/api/endpoints/1/oembed>;"。传回一个对象
,该对象允许您检索标题、缩略图、描述和嵌入的html::

>;>;client.oembed('http://vimeo.com/18150336')
<;embeddly.models.url,位于0x10223d950>;

``extract`
对应于"extract endpoint
<;http://embed.ly/docs/extract/api/endpoints/1/extract>;`。传回一个
对象,该对象允许您检索标题、描述、内容、HTML和图像列表。::


>;>;client.extract('http://vimeo.com/18150336')
<;embeddly.models.url at 0x10223d950>;

``preview`
对应于"preview en"dpoint
<;http://embed.ly/docs/endpoints/1/preview>;`。传回一个简单的对象
,该对象允许您检索标题、描述、内容、HTML和
图像列表。::

>;>;client.preview('http://vimeo.com/18150336')
<;embeddly.models.url at 0x10223d950>;

`` objectify`
对应于'ob投射端点
<;http://embed.ly/docs/endpoints/2/objectify>;`。传回一个简单的对象
,它允许您检索embeddly知道的关于
url的几乎所有内容。:

>;>;client.objectify('http://vimeo.com/18150336')
<;embeddly.models.url at 0x10223d950>;

ents,一个url或url列表,以及与embeddly的"查询参数"相对应的关键字参数
<;http://embed.ly/docs/endpoints/arguments>;`。下面是一个示例:

>;>client.oembed(['http://vimeo.com/18150336',
'http://www.youtube.com/watch?v=hd7ydlyhvks'],maxwidth=500,words=20)


有些支持函数允许您在将url发送到嵌入式之前限制url。embeddly可以为任何url返回元数据,这些只允许开发人员只传递embeddly providers的子集。请注意,这些regex不支持像bit.ly或t.co这样的url缩写。


``regex`
如果您只想通过embeddly发送返回嵌入html的url,则可以在进行调用之前将url与regex匹配。匹配的提供程序
列在"embed.ly/providers<;http://embed.ly/providers>;` ` `:

>;>;url='http://vimeo.com/18150336'
>;>;client.regex.match(url)
<;
``受支持` `
这是一个简化的"regex"的版本:

>;>;url='http://vimeo.com/18150336'
>;>;支持客户端(url)
true

"""
"对象基本上是从一个嵌入式api端点返回的响应字典。




>>>>response=client.oembed('http://vimeo.com/18150336',words=10)


根据使用的方法,响应将具有不同的属性。我们将浏览一些文档,但您应该阅读"documentation
<;http://embed.ly/docs>;``以获取传回的数据的完整列表。
::


>;>;response['type']
u'video'
>;>;response['title']
u'wingsuit basejumping-需要4个速度:飞行的艺术"
>;>response['provider_name']
u'vimeo'
>;>response['width']
1280

它将始终具有"method"和"original_url"属性,
它们表示嵌入式请求类型和请求的url。



>;>response.method
'oembed'
>;>response.original_url
'http://vimeo.com/18150336'

e响应数据本身可能没有url
(也可能有重定向的链接、查询字符串参数等)
>;>response['url']

keyrerror:'url'

/>
>>gt;obj=client.preview('http://vimeo.com/18150336/18150336/18150336,words=10)
>>gt>gt;obj['object']['type']
u'video'
>;obj['images'][0]['url']
u'http://b.vimeeocdn.com/ts/117/3111/11733111910/11733111910.jpg'

>
错误处理
=>
如果有wawawawawawawawawawawawawawawawa['images']['images'][0]['url']是的s处理请求时出错,``url``对象将包含
错误。例如,如果使用无效密钥,我们将返回401响应
::

>>;>;client=embedly('notakey')
>;>;obj=client.preview('http://vimeo.com/18150336')
>;>;obj['error']
>;obj['error code']

co版权所有(C)2013 Embed.ly,Inc.有关详细信息,请参阅许可证。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java InputStream对象在声明后关闭   java未定义名为“transactionManager”的bean重命名transactionManager   java“jar”命令何时会拒绝将类添加到java中。jar文件?   java JPA标准依赖WHERE子句   安卓中从SD卡读取文本文件时出现java错误   java直接启用类似位置的权限   使用@WebMvcTest和Mockito-BDDMockito对SpringBoot-RestController进行java测试   java JSESSIONID存储在哪里?   java jtextarea鼠标事件覆盖容器鼠标事件   java DRL无法解析动态加载的类   java是从一个方法返回多个对象的最简单方法   java自定义按钮/编辑框是否不可见?   java GUI如何在保存用户输入的同时在面板或框架之间切换   swing Java自定义JSlider不会更新   GridBagLayout中的java超过1个JPanel   java从ProjectReactor中的flux中采样除第一个元素外的所有元素   Java泛型和泛型类型   Java代码生成宽指令的jvm