小编Vas*_*kis的帖子

如何过滤受限于移动播放的YouTube Data API v3中的视频,而不过滤掉Vevo?

我正在使用YouTube Data API v3创建Android应用.到目前为止一直很好,直到我意识到很多视频都没有播放.

我得到"来自持有人的内容因版权原因在您所在的国家/地区被屏蔽"....

我用谷歌搜索,似乎解决这个问题的方法是使用版本3的YouTube.Search.List对象并设置:

search.setVideoSyndicated("true");
Run Code Online (Sandbox Code Playgroud)

不幸的是,这太过限制了.所有Vevo视频和谁知道结果中还有什么消失,即使这些视频播放正常.

我已经知道search.setVideoEmbeddable("true")这不是这个等式中感兴趣的变量.

现在我应该补充一下,我已经倾注了文档并最终找到了这个:

https://developers.google.com/youtube/2.0/developers_guide_protocol_partial?csw=1#Retrieving_Videos_for_Mobile_Playback

...说:

检索视频以便在移动设备上播放

要确保API响应仅包含适合在移动设备上播放的视频,请将fields参数设置为以下值.请注意,必须转义参数值中显示的哈希字符(#)(%23).

fields=entry[link/@rel='http://gdata.youtube.com/schemas/2007%23mobile']
Run Code Online (Sandbox Code Playgroud)

如果您正在为移动设备开发应用程序,则可能还需要在API请求中指定移动投影.

....

好吧......所以尽管这只适用于API版本2.0(?)我想,"嘿......我是一个好奇的家伙......"我创建了以下测试URL并通过Firefox运行它查看XML有效负载.

https://gdata.youtube.com/feeds/mobile/videos?q=RIHANNA&max-results=50&fields=entry[link/@rel=%27http://gdata.youtube.com/schemas/2007%23mobile%27]

嗯......这确实有效.请注意,"/ mobile /"在文档中称为"投影",通常在公共端点中为"/ api /".

现在,当我说"这确实有用"时,这意味着我恢复了XML,确实过滤掉了"因版权原因阻止"播放错误的视频.

然而,搜索P!NKRihanna或(在此处插入流行艺术家du jour)会产生AWFUL结果.

我的头痛恶化:YouTube的官方移动Android应用程序确实显示YouTube Vevo的内容,因为当我没有设置联合到真,并且他们没有显示我的国家因版权原因而被阻止的所有无数视频.

现在我在美国大苹果公司,所以我们不要把"你们国家"的东西用来暗示我在一些不幸的城堡里.

因此,简而言之,在尝试创建可接受的移动用户体验或我遗漏某些内容时,YouTube数据API中存在一些问题.我希望它是后者,有人可以告诉我如何使用YT Data API v3来获取Vevo(宝宝)并且因为版权原因(洗澡水)结果丢失了6个"在你的国家被阻止".

这个问题似乎是长期存在的,但也是一个"利基"领域,谷歌会告诉他们的API开发者社区使用联合属性来删除其合作伙伴的所有内容,例如Vevo似乎希望他们的内容在移动.Android的播放器API会显示这些广告,因此它毕竟是货币化的收入来源.

这里的任何人都可以告诉我这个等式中我缺少什么,或者这只是谷歌中没有人知道或认为足够优先来补救的东西?我是API的第3版的新手,所以也许我只是不知道关键的东西.

youtube-api android-youtube-api

12
推荐指数
0
解决办法
2537
查看次数

Python:从Python字典中删除空列表的优雅方法

我有一本字典:

default = {'a': ['alpha'], 'b': ['beta','gamma'], 'g': []}
Run Code Online (Sandbox Code Playgroud)

我希望消除空值:

default = {'a': ['alpha'], 'b': ['beta','gamma']}
Run Code Online (Sandbox Code Playgroud)

我写了一个函数(按照网络上的一个例子)

def remove_empty_keys(d):
    for k in d.keys():
        try:
            if len(d[k]) < 1:
                del[k]
        except:
            pass
        return(d)
Run Code Online (Sandbox Code Playgroud)

我有以下问题:

1-我没有找到错误,为什么它总是返回以下 -

remove_empty_keys(default)
 {'a': ['alpha'], 'b': ['beta'], 'g': []}
Run Code Online (Sandbox Code Playgroud)

2-是否有内置函数从Python字典中删除/删除Null/None/empty值而不创建原始字典的副本?

python dictionary list

8
推荐指数
3
解决办法
5910
查看次数

正则表达式,但数字有两位小数

对于那些喜欢正则表达式的人来说,我有一个很好的挑战; 像我这样的.不幸的是,我无法想出这个.

这个正则表达式是反向匹配.我需要匹配除了适当数量之外的所有东西; 喜欢:

这些类型不需要匹配:

0,00
0.00
12314345.7
24234.54
34435,00
34545,43

这些类型需要匹配:

0.00
,87
1e3,67

所以除了带逗号或点的十进制数之外的所有内容都需要在JavaScript中匹配(是的,反向).

我做了这个:

([^0-9]+([^\.,]{0,1})+[^0-9]{0,2})
Run Code Online (Sandbox Code Playgroud)

但是,显然,它无法正常工作,看到它通过多个逗号或点,并且不会将小数限制为最多两个.

javascript regex

5
推荐指数
1
解决办法
97
查看次数

获取字符串的更短语法?[选择字符串]

我在 Powershell 中使用 Select-String 进行了很多正则表达式匹配。

例如,最简单也可能是最常见的匹配,IPv4 地址:

$regex = \b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b
Run Code Online (Sandbox Code Playgroud)

现在,如果我将其匹配到一行中:

$输出=`

“等等,202.100.100.9,你要匹配这一行中间的 IP,

但不在这一行,因为“2.a.3.one”不是有效的 IPv4 地址”

然后我这样做:

$output | Select-String $regex
Run Code Online (Sandbox Code Playgroud)

它会给我整条线。

我不能真正以原始形式使用它。

但是如果我使用这个:

$output | Select-String $regex | %{$_.Matches} | %{$_.Value}
Run Code Online (Sandbox Code Playgroud)

它只会给我 IP 地址,这很棒。

我的问题是:

有没有更简单的方法来做到这一点?

我宁愿不输入 | %{$ .匹配} | %{$ .Value} 每次我只想获取一个特定的字符串。

powershell

4
推荐指数
1
解决办法
2817
查看次数

试图理解这段代码(创建[char]范围)

我有适用的代码,但我不知道为什么它有效.

这将生成一个包含英文字母的每个字母的列表:

[char[]]([char]'a'..[char]'z')
Run Code Online (Sandbox Code Playgroud)

但是,这不会:

[char]([char]'a'..[char]'z')
Run Code Online (Sandbox Code Playgroud)

这实际上会生成一个从97到122的数字列表

([char]'a'..[char]'z')
Run Code Online (Sandbox Code Playgroud)

有没有专家可以向我解释这是如何工作的(或不是)?

powershell

2
推荐指数
2
解决办法
640
查看次数

Powershell | 无法使用空格字符执行命令

谁能向我解释原因:

iex "C:\Program Files\test\test.exe"
Run Code Online (Sandbox Code Playgroud)

返回值:

C:\ Program:术语“ C:\ Program”未被识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。在第1行:char:1 + C:\ Program Files \ test \ test.exe + ~~~~~~~~~~ + CategoryInfo:ObjectNotFound:(C:\ Program:String)[],CommandNotFoundException + FullyQualifiedErrorId: CommandNotFoundException


我试图使它以多种不同的方式工作:

  • 将文字包装在 ()
  • 将字符串放入变量并将其作为变量传递
  • 使用单引号
  • 使用双引号

我不知道我还能怎么认识到必须运行整个字符串,而不仅仅是第一个单词。


回答后的例子

问题已经回答。这是我想开始工作的东西:

$tool = "C:\Windows\System32\cmd.exe"
$param = "/c ping google.com -n 1"
$test = & $tool $param
Write-Host $test
Run Code Online (Sandbox Code Playgroud)

事实证明,在这种情况下,&带有的行不适用于双引号"",而实际上没有双引号也可以。我认为这与涉及参数/参数有关。

powershell

2
推荐指数
1
解决办法
5086
查看次数

在Powershell中创建带前导零的文件夹

我一直在使用这个脚本来创建文件夹:

$i = 1
cd\
md d:\user$1
$i++
Run Code Online (Sandbox Code Playgroud)

然而它吐出像这样的文件夹......

d:\user1
d:\user2
d:\user3
Run Code Online (Sandbox Code Playgroud)

我想要的是两个前导零,所以当我到达009它时,优雅地切换到单个前导零.
同样明智的099应该过渡到100.

这是我想要输出的内容:

d:\user001
d:\user010
d:\user100
Run Code Online (Sandbox Code Playgroud)

目前我正在将脚插入到脚本之前$i,并在跳转到第二个和第三个数字时将其删除.
我读过的所有内容都提到使用字符串来获取前面的零.

这是唯一的方法吗?

问题来自:
Reddit:获取powershell来计算并包含前导零而不使用字符串?

powershell

2
推荐指数
2
解决办法
3088
查看次数

如何在Python中检查2个字符串是否包含相同的字母和数字?

我想检查两个字符串是否包含相同的字母和数字

忽略特殊字符,例如_

例子:

word1 = "ABCD" , word2 = "ACDB"  => return True
word1 = "ABC1E_" , word2 = "AE1CB" => return True
word1 = "AB12" , word2 = "ABE2" => return False
word1 = "ABB" , word2 = "AB" => return True 
Run Code Online (Sandbox Code Playgroud)

python string string-comparison

2
推荐指数
1
解决办法
1万
查看次数

无法访问[]界面内的地图中的密钥

示例代码:

package main

import "fmt"

func main() {
    example_container := []interface{}{
        map[string]string{
            "name": "bob",
            "id": "1",
        },
        map[string]string{
            "name": "jim",
            "id": "2",
        },
    }
    fmt.Printf("%v\n", example_container)
    fmt.Printf("%v\n", example_container[0])
    fmt.Printf("%v\n", example_container[0]["name"])
}
Run Code Online (Sandbox Code Playgroud)

问题线:

fmt.Printf("%v\n", example_container[0]["name"])
Run Code Online (Sandbox Code Playgroud)

错误:

invalid operation: example_container[0]["name"] (type interface {} does not support indexing)
Run Code Online (Sandbox Code Playgroud)

题:

那么如何访问此界面中的键?

我是否必须使用方法集来定义更精细的界面来实现此目的?

dictionary interface go

1
推荐指数
1
解决办法
57
查看次数